.| Autor | Beitrag |
|---|---|
|
000 31.01.2002, 00:40 |
(none) -- |
|
Profil || Suche |
|
001 31.01.2002, 07:04 Tron |
x = w % 8 man kann generell sagen: w % pow(2, n) == w & (pow(2, n) - 1) fazit: unnoetig, da ein heutiger compiler diese optimierung selbst vornimmt. z = y * 33 fazit: koennte schon eher was bringen, fuehrt aber eventuell zu einem stall, was den nutzen stark mindert, ausserdem schlecht lesbar --'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams 'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett |
|
Profil || Suche |
|
002 31.01.2002, 14:08 Prefect |
Also, % / * mit 2er-Potenzen durch Bitoperationen zu ersetzen macht in der Tat Sinn, aber die Compiler optimieren das selber. Multiplikationen mit Konstanten _kann_ man so umschreiben, aber es bringt auf modernen Prozessoren _nichts_, da sie auch Multiplikationen in einem (?) Schritt machen können, und eher Probleme mit der RAM-Bandbreite haben (und mehrere Shifts hintereinander vergrößern den Code drastisch). Ergo: Man sollte den Code so schreiben, daß er am leichtesten lesbar ist bzw. am meisten Sinn bringt. Optimierungen auf dieser Ebene machen bei heutigen Compilern in der Regel keinen Sinn mehr. cu, Widelands - Gemütliche Aufbaustrategie, Free Software |
|
Profil || Suche |
|
003 31.01.2002, 15:54 Mazze |
Multiplikationen in einem Schritt? Wert aus dem Speicher hohlen Oder wie wollen das denn moderne CPUs machen? --BattleTech-MOD: |
|
Profil || Suche |
|
004 31.01.2002, 16:22 Tron |
@Mazze: also: wobei jede ziffer einen befehl darstellt @Prefect: 'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams 'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett Dieser Beitrag wurde am 31.01.2002 um 16:25 von Tron bearbeitet. |
|
Profil || Suche |
|
005 31.01.2002, 17:23 mani |
lol, also bei ~8GHz system macht das wohl selbst bei enorm großen code ( so 5-10 Mio. Zeilen) keinen allzugroßen sinn...(würd ich ma sagen) und die lesbarkeit fördert es wahrlicht nicht.... |
|
Profil || Suche |
|
006 31.01.2002, 17:26 Archangel |
pow(x, y) -> x ^ y -- |
|
Profil || Suche |
|
007 31.01.2002, 18:01 Tron |
@Archangel: @Mani: 'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams 'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett |
|
Profil || Suche |
|
008 31.01.2002, 18:11 Archangel |
arrr, ich meinte doch hoch, aber hoch zu schreiben sieht einfach scheisse aus.. ich hab mir einfach mal die freiheit genommen, den ^ operator zu überladen ;) -- |
|
Profil || Suche |
|
009 31.01.2002, 18:27 mani |
tron: wird er aber nicht :p -- |
|
Profil || Suche |
|
010 31.01.2002, 18:37 apfelkorn |
naaberhossa... da hat sich wohl eine schöne schwäche dann bei c eingeschlichen... "^" ist die internationale offizielle umschreibung für "hoch" -- |
|
Profil || Suche |
|
011 01.02.2002, 15:05 Prefect |
Klar, optimieren sollte man immer, allerdings sollte die Optimierung nicht auf Kosten der Lesbarkeit des Codes gehen - außer vielleicht in kurzen (~ 10 Zeilen) Inner-Loops die an die Mio. mal pro Sekunde aufgerufen werden... Und auch dann sollte man schauen, ob die Optimierung wirklich besseren (Assembler-)Code liefert... cu, Widelands - Gemütliche Aufbaustrategie, Free Software |
|
Profil || Suche |

