025
06.07.2003, 21:10 Uhr
Pablo
Supertux (Operator)
|
@Oli: wie willst du ein richtiges bool in C mit chars machen? Mir fällt nichts ein.
@Bon:
Es geht nicht darum, ob du eine Optiemierung eines Verfahren machst, das schon in O(n) läuft.,Wie @0xdeadbeef schon sagte, eine Optiemierung ist eine Optimierung. Es geht um den Algorithmus. Wenn ich ein Verfahren habe, welches in O(n) liegt, läuft es auch ziemlich schnell. Aber wenn ich das Verfahren optiemieren kann und daruas ein in O(log n) liegendes Verfahren machen kann, ist das super!
Stell dir vor, du hättest ein ganz langes Arrays, und du musst Stelle für Stelle miteinander Vergleichen. Du machst eine Funktion, die in O(n) liegt, aber das Array ist so gross, dass das Verfahren 1024 Jahre (Tagen, Minuten, Sekunden, egal was für eine Einheit) braucht, bis alles fertig ist. Wenn du das Verfahren optimierst in es läuft in O(log n) dann würde nur 10 Jahre (Tage, Minuten, Sekunden, usw.) brauchen, bis alles fertig ist. Also, es hat sich wirklich gelohnt. Es sieht so aus, als hättest du nie mit Programmen die NP-Vollständigkeitsprobleme lösen gearbeitet, dann bist du froh wegen der Optimierung.
Außerdem hängt vom Compiler ab, ob er einen saubern Maschinen Code schriebt oder nicht, es könnte sein, dass für virtual_strcmp() einige NOPs eingefügt werden müssen (wenn RISC) und für die Optimierung keine oder wenige NOPs. Ich hab keine Ahnung, ob das wirklich so ist, da ich beide Verfahre nicht asuprobiert hab und ich kann nicht den compilierten Code schauen. -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! Dieser Post wurde am 06.07.2003 um 21:10 Uhr von Pablo Yanez Trujillo editiert. |