Software > Coding

Performance Vorteil gcc -m68000 oder -m68030

<< < (2/3) > >>

1ST1:
Unterstützt denn EMU-Tos alle Hardware-Komponenten des TT? Sprich die erweiterten Grafikmodis, DMA-Sound, SCSI, zusätzliche serielle Schnittstellen, etc?

tuxie:
Bis auf SCSI alles ja..

mfro:

--- Zitat von: tuxie am Sa 10.09.2016, 18:38:09 ---... Würde das Programm welches ich Kompiliere (ist eine große Anwendung) mit dem compilersetting -m68030 schneller laufen als mit m68000 ...

--- Ende Zitat ---

Das *würde* wahrscheinlich einen Unterschied machen, wenn Du nicht mit -mshort (also 16-bit ints) compilieren würdest.
Dann könnte der 68030 beim Array-Zugriff mit seinen "langen" Adressierungsarten "punkten", die's beim 68000 nicht gibt. So kann er das nur, wenn Arrays explizit mit LONG-Indizes angesprochen werden (kommt in EmuTOS meiner Kenntnis nach so gut wie nicht vor). Seine Bitfield-Instruktionen darf er auch nicht benutzen (muß man beim gcc extra einschalten und auch dafür gibt's im EmuTOS so gut wie keine Verwendung).
Ich bin fast ein wenig verwundert, daß überhaupt 4% Gewinn rauskommen. Ich denke, daß kommt im Wesentlichen daher, daß die gcc-Hilfsroutinen für 32-bit Multiplikationen nicht mehr aufgerufen werden müssen.

Ich könnte mir sogar vorstellen, daß -Os mehr bringt. Wenn der Compiler auf Codegröße optimiert, steigt die Wahrscheinlichkeit, daß Schleifen noch in die (mickrigen) 68030-Caches passen.

tuxie:
Also ohne das -mshort läuft emutos nicht, da kommt gleich eine Error Exception, aber mit Os läuft es, ja an sowas hatte ich auch schon gedacht. Wie gesagt mit -m68030 ist es etwas schneller, 4% ist natürlich nicht viel. Der VDI Teil müsste wirklich optimiert werden im Emutos, ich schätze wenn das sich ein Programmierer ran setzt der davon mehr versteht wie ich dann würde daraus wirklich eine Alternative auch für Reale Hardware.
Will mal sehen das ich die nächsten Tage die hässlichen Desktop Icons tauschen kann. bzw. sollte gar nicht so das große Problem sein.

mfro:

--- Zitat von: tuxie am Sa 10.09.2016, 23:37:16 ---... Der VDI Teil müsste wirklich optimiert werden im Emutos, ich schätze wenn das sich ein Programmierer ran setzt der davon mehr versteht wie ich dann würde daraus wirklich eine Alternative auch für Reale Hardware...

--- Ende Zitat ---

das EmuTOS-VDI ist schon recht gut optimierter C-Code. Wenn man da ungeschickt dranfaßt, wird das gern mal eben halb so schnell...

Das Atari-VDI ist schneller, weil es für jede Auflösung und Farbtiefe separate, optimierte Assembler-Routinen (zumindest für die wichtigsten Grafikprimitive wie horizontal_line und Rasterkopien) bereitstellt. In EmuTOS ist das eine Funktion, die alle ST- und TT-Auflösungen mittels Fallunterscheidung auf einmal erschlägt.

Das Bitgefummel mit den interleaved Bitplanes ist für einen C-Compiler nicht unbedingt ein vielversprechendes Betätigungsfeld.

Optimierte Assemblerroutinen sind nicht das Ziel von EmuTOS. Der Code soll so weit wie möglich portabel und verständlich bleiben. Für den, dem das EmuTOS-VDI zu langsam ist, läßt sich seit einiger Zeit NVDI installieren.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln