6Fermer8
ThibautLe 27/05/2011 à 20:04
J'ai porté l'allocateur sur TI 89/92+/V200. Il est donc directement utilisable avec TIGCC et GCC4TI. GTC n'a pas été testé.

Des tests de performance ont été faits. Sur des séries d'environ 1750 allocations de tailles aléatoires entrecoupées d'environ 950 libérations de blocs choisis aléatoirement :

- mon allocateur réalise l'ensemble des opérations en 1.3 s en moyenne.
- le malloc du TIOS réalise l'ensemble des opérations en 27 s en moyenne, lorsque la machine vient d'être réinitialisée. Si l'on fait le test après une utilisation normale (où de nombreux fichiers et handles ont été créés et détruits), le temps monte à plus de 60 s.

Comme on s'y attendait, le gain est énorme : l'allocation et la libération d'un bloc est de 21 à plus de 50 fois plus rapide. Avec fast_heap, on réalise plus de 2000 opérations par seconde, contre moins de 100 op/s avec le malloc du TIOS.


L'archive du post #0 est mise à jour. Elle contient la version adaptée pour les TI, et une version standard pour les ordinateurs plus modernes (entre autres, l'heuristique de réduction de la fragmentation y est activée).