Ich habe ein neues Release von meiner VM Nano: 3.4.3-6. Die Binaries von Linux und Windows sind aktuell. Die anderen sind auf älterem Stand. Das README im Archiv habe ich angepasst. Nano muss nicht mehr installiert werden. Es läuft auch von einem USB Stick, wenn man es vom Binary Verzeichnis aus als “portnanovm” startet. Die anderen Programme verhalten sich auch so. Siehe README.

Neu ist die #OPTIMIZE_NOT, #OPTIMIZE_NOT_END Anweisung für den Compiler. Code der eingeschlossen ist wird nicht optimiert. Das ist manchmal wichtig, da nicht alles optimiert werden kann.

Das neue Fraktal Programm ist auch dabei: fractalix-neu.nanoc. Am Ende wird ein .BMP Bild mit dem Fraktal gespeichert. Falls man die VM von einem USB Stick aus startet muss man noch “_nanopath” den Pfad zum nanovm Verzeichnis zuweisen. Das Programm muss danach neu übersetzt werden.

Die Linux Version versucht die Threads auf die CPUs zu verteilen. Es gibt eine neue #define in “global_d.h” mit der man die Anzahl der CPU Cores setzen kann. Wenn die CPU zum Beispiel zwei echte Cores mit Hyperthreading hat dann ist der Wert 2. Da es aus der Sicht der POSIX Thread Bibliothek nur zwei echte Cores gibt.

Unter Windows läuft das Fraktal Programm mit 8 Threads deutlich schneller als unter Linux. Das liegt daran dass die Threads nicht optimal auf die CPU Cores verteilt werden. Ich werde nach einer Lösung suchen.

Die VM wurde optimiert und kann Programme schneller ausführen.

NanoVM 3.4.3-6