Dirty Oerti hat geschrieben:Hm...ein guter Compiler sagst du.
"The Greenhills compiler may have optimized this benchmark to nothing."
Dirty Oerti hat geschrieben:Ich verwende den gcc, allerdings ohne jegliche Optimierungsflags.
Wie sieht es dann aus?
"The '#pragma' command is specified in the ANSI standard to have an arbitrary implementation-defined effect. In the GNU C preprocessor, '#pragma' first attempts to run the game 'rogue'; if that fails, it tries to run the game 'hack'; if that fails, it tries to run GNU Emacs displaying the Towers of Hanoi; if that fails, it reports a fatal error. In any case, preprocessing does not continue." (Richard M. Stallman, The GNU C Preprocessor, Version 1.34).
Beantwortet das Deine Frage?
Dirty Oerti hat geschrieben:
Wie meinst du das? Wäre eher interessant?
Ich benötige keine Variable. Die Zahl ist konstant und nicht abhängig, sie ist 32.
Dann mach die Bitschieberei und behaupte wie ich, dass die meisten Leute, die das nicht lesen können, auch nicht programmieren können.
Dirty Oerti hat geschrieben:Xin hat geschrieben:
Dirty Oerti hat geschrieben:
Nur habe ich gelesen, letztere Methode soll schneller sein.
Stimmt das?
Bei einem modernen Prozessor: nein.
Bei einem alten Prozessor: ja.
Hängt das vom Prozessor ab, oder von der "Optimierungsstufe", mit der man compiliert?
In dem Fall vom Prozessor. Moderne CPUs sind nicht nur schneller getaktet, sie leisten auch viel mehr pro Takt als alte CPUs.
Dirty Oerti hat geschrieben:Mit schneller meine ich keine Sekunden schneller.
Ich denke da eher in Zeitabschnitten wie "Anweisungen" oder "Takte".
Eine Multiplikation auf einem 68k Prozessor waren afair 9 Takte, wohingegen das Bitschieben in ein bis 2 Takten erledigt ist.
Ein P4 schafft das afair bereits in 1 Takt. Hier ist Bitschieben also nicht schneller. Ggfs. kann die Bitschieberei aber leichter mit der nachfolgenden Anweisung parallelisiert werden. Dann wäre sie wieder schneller.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.