curry684 schreef op 08 October 2003 @ 16:18:
[...]
* curry684 heeft wel eens zin om hier "Het grote optimalisatietopic" van te maken
Heb je wellicht mogelijkheden om hier wat stukken van de meest pijnlijke code te posten en/of wat preciezere beschrijving van de programmatuur te leveren?
Ik als Windowshippie laat natuurlijk niet over me heen gaan dat Linux sneller is

Ik kan geen stukken code posten, maar ik kan wel wat achtergrond info geven. De code is uit een library die 3d/2d cellen sorteert. Als test file hadden we een 2.7 miljoen tellend grid met voornamelijk poly cells. Het sorteren gebeurt meestal wanneer je zo'n file in laadt in 1 van onze programma's. Dat duurde dus eerst bijna 2 uur voordat was ingeladen (inclusief sorteren). Na het optimaliseren van de sorting routine, bleek op o.a een aantal Unix platformen ong een minuut te duren. Met verdere optimalisatie hier en daar konden we het nog sneller krijgen... dus gingen we het testen op windows, en bleek het nog steeds erg langzaam te zijn. Met de profiler er bij, bleek dat ie 90% van z'n tijd in realloc zat. Met de optimimalisatie zoals beschreven hierboven komt Windows dus weer bij het gemiddelde tijd die het duurt om het uit te voeren.
Oh... de meest pijnelijk code was in de trant van...
bereken grote van array, gebaseerd op celltype, behalve polycell...
loop over alle cellen,
kopieer data van cellen naar array..
als we een poly cell tegen komen, vergroot array om polycell te kunnen storen..
[
Voor 12% gewijzigd door
Verwijderd op 08-10-2003 16:33
]