Frage

Ich habe Wikipedia-Artikel gelesen, auf K Programmiersprache und dies ist was ich sah:

  

Die geringe Größe des Interpreters und kompakter Syntax der Sprache macht es möglich, für K-Anwendungen vollständig innerhalb des Level 1-Cache des Prozessors zu passen.

Ich bin gespannt. Wie ist es möglich, das gesamte Programm in L1-Cache zu haben? Sprich CPU hat 256kb L1-Cache. Sagen Sie mein Programm ist viel weniger als das, und es braucht eine sehr kleine Menge an Speicher (sagen wir, nur für den Call-Stack und so weiter). Sprich, es braucht keine Bibliotheken (obwohl, wenn ein Programm für ein O ist, wäre es schließen muß kernel32.dll oder was auch immer). Und O nicht automatisch zuordnet einige minimalen Speicher für jedes Programm (na ja, für ausführbaren Code und Stack und Heap)?

Danke.

War es hilfreich?

Lösung

Ich glaube, was sie sagen, ist nicht, dass das gesamte Programm paßt in L1-Cache, sondern dass alle den Code, der die meiste Zeit läuft paßt in der L1-Cache.

Ja, das Betriebssystem ordnet viele andere Strukturen, aber die sind selten genug getroffen keine Rolle.

Natürlich ist das alles Spekulation. - Ich weiß nichts über die Sprache ‚K‘

Andere Tipps

Ich glaube, sie zum Vorteile spricht, dass der Haupt-Ausführung von Code in der L1-Cache passen; unabhängig von dem Speicher zu dem Programm zugeordnet. Sobald die K-Anwendung geladen wird, wenn es nie, dass der Speicher berührt dann spielt es keine Rolle, wenn es in Bezug auf die Leistung (das heißt der perf Vorteil, dass sie vollständig in L1-Cache) zugeordnet ist.

Sie verwirren alle Programmcode mit den am häufigsten ausgeführten Code.

Für die interpretierten Sprachen der Dolmetscher Kern ist sicherlich zu den am häufigsten ausgeführten Code. am häufigsten ausgeführten Code im Cache Mit der Ausführung die gleiche Art und Weise beschleunigt, wie am häufigsten zugegriffen Daten im Cache, das den Fall ist.

Der wichtigste Teil ist „am häufigsten“ - es notwendig ist nicht alle haben den Code / Daten eine signifikante Beschleunigung zu sehen, im Cache gespeichert

.

Der Interpreter läuft als normales Programm vom Betriebssystem verwaltet. Das interpretierte Programm läuft in dem Speicherraum des Interpreters, im Datensegment. Viele K Programme können leicht in die L1-Cache passen vollständig, obwohl der gesamte Dolmetscher kann nicht. Der Haupt Interpreter Schleife wird wahrscheinlich allerdings passen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top