> Also wenn Du was beschleunigen willst finde erstmal die Stellen, die den tatsächlichen Flaschenhals darstellen
everflux, das ist mir schon klar, dazu setze ich bei Bedarf dann versch. Profiling/Monitoring Tools ein.
In diesem speziellen Fall gehts aber um relativ viele viele (zu viele!) Rechenoperationen auf einem Array, und da fragte ich mich halt: rechtfertigt die 32Bit Architektur es int zu benutzen, was 4mal mehr Speicher verbraucht (aber angeblich schneller sein soll) als ein char. Ist char wirklich langsamer als int? Heraus kam dann eben dies.
> Auf der untersten Ebene (Maschinencode) kommt es ja auch immer drauf an, wieviel Rechenschritte benötigt werden, um etwas zu machen (Addition, Subtraktion, Vergleich...etc)
Das Assembler bzw. Maschinencode natuerlich ggf. noch schneller waere mag sein. Ich komme auch urspruenglich aus der Assembler-Ecke was z.B. dazu fuehrt dass ich immer noch versuche moeglichst viele Null-Vergleiche zu machen oder Schleifen rueckwaerts statt vorwaerts laufen zu lassen.
Auf dem C64 musste bei 1 MHz eben jeder Taktzyklus gespart werden. Solche heute natuerlich eher "Mini"-Optimierungen bekommst Du ein Leben lang nicht mehr aus dem Kopf, und das ist gut so
> Wenn die Programmierumgebung das erlaubt, würde ich den Inline Assembler bei den Routinen verwenden, die schnell sein MÜSSEN!
Inline Assembler setzte ich zuletzt bei Turbo Pascal ein. War auch ne sehr schoen strukturierte Sprache, eigentlich.
Wird jetzt aber sehr off topic. Bei Bedarf den Thread Titel lesen: es ging urspruenglich darum ob in C int oder char-Array-Operationen schneller sind
