Le patch disponible sur Aminet CopyMem/Quick en version 1.1 est l'oeuvre de l'américain Matthey. Il remplace deux fonctions de l'exec.library R_CopyMem et R_CopyMemQuick qui ont pour seul but de copier une source vers une destination... Et c'est tout !
Ces deux fonctions dans le Kickstart 3.1 ne sont pas très adaptées pour le 68060. J'avais d'ailleurs incorporé ce patch avec l'autorisation de son auteur dans mes nouvelles versions de l'exec.library :
Mon exec.library n'étant est pas encore tout à fait super 100% opérationnelle, j'ai préféré inclure ce patch dans la 68060.library des cartes Apollo et Phase5 : c'est finalement mieux ainsi, toutes les spécificités 060 sont regroupées dans cette librairie.
Les benchmars ont été refait, et oui, toutes les copies sont bien plus rapides maintenant :
Et puis ça fait un patch en moins à ajouter dans la user-startup, ce qui simplifie la vie des utilisateurs, puisque tout est intégré maintenant dans un seul fichier.
Une instruction spécifique aux 040 et 060 (la "move16") est utilisé dans les routines : certaines personnes à son sujet affirment qu'elle peut poser soucis lors d'accès à la chipram alors que d'autres disent qu'elle fonctionne très bien partout. Dans le doute, move16 est appelée ici uniquement pour la fastram.
Attention : les CyberStorm MK1 (toutes ou alors seulement certaines ?) ont peut-être un bug hardware avec justement cette instruction move16. Il est déconseillé d'utiliser la 68060.library version 45.18 pour cette carte accélératrice en attendant des tests plus approfondis.
La pour les bench, il va falloire nous donner les clés de lecture, parceque lorsque je vois :
RépondreSupprimerOld : 0,16 s
New : 0,46 s
Pour moi l'ancienne version va plus vite ! :)
SixK
Les bon benchs sont dans le .readme des librairies. Parce que le prg de test est un peu particulier : il est nécessaire de lancer avant CMQ 2.8... Donc les bonnes valeurs sont les "old" !
RépondreSupprimer