Lionel DebrouxLe 26/08/2007 à 10:16
> Pollux a fait un algo de dé/compression on-calc d'une performance et d'une rapidité surprenantes (supérieures à TT Pack)
C'est tout à fait possible, mais formulés qualitativement, tes propos sont invérifiables, car tu n'as pas précisé de quel ttunpack tu parles (et peut-être que tes connaissances ne sont pas à jour...):
* la version petite, seule version supportée par TIGCC, pour les lanceurs spécifiques de programme. Moins de 200 octets, moins de 30 KO/s (la vitesse était trois fois pire, à une époque...).
* la version rapide: environ trois fois plus grosse, trois à quatre fois plus rapide.
ttpack ne tourne effectivement pas on-calc, et il s'en faut de beaucoup (mémoire nécessaire: 128 KB + 15 * size_of_input, éventuellement réductible à 64 KB + 15 * size_of_input).
Kevin préfère qu'il y ait plusieurs lanceurs spécifiques (pstarter). Comme ça, l'utilisateur bête peut lancer directement son programme, plutôt que d'avoir à faire un truc très difficile comme ttstart("..."). Autrement dit, ça multiplie le nombre d'exemplaires du code du lanceur, et pour compenser, il faut optimiser taille à fond (les programmes des autres, pas les siens...), quitte à ce que ça ait un impact significatif sur la vitesse (dont personne n'a besoin, de toute façon, comme vous le savez tous très bien).
Je préfère qu'il y ait un seul lanceur générique. Même en prenant la routine rapide de décompression, un ttstart générique est (de mémoire) ~700 octets plus petit que deux pstarters spécifiques (~1300 octets vs. 2*~1000 octets). De plus, ça ne fait qu'un seul lanceur à updater, en cas de changement de HW (problème réellement posé lors de l'arrivée des 89T - mais cet argument n'est plus valable depuis qu'on sait qu'il n'y aura plus de nouvelles TI-68k).