Nouvelle version de la mathieeedoubbas.library du Workbench 3.9 avec surtout une belle nouveauté :
- 11 nouvelles fonctions _fp0 "registre"
- spécial support du 68040
- compatible avec tous les 68k et toutes les Fpu
11 instructions avec l'ancienne fonction. Maintenant seulement 4 avec la nouvelle : un VRAI progrès ! |
- n'utilisent plus les accès mémoires (la pile)
- n'utilisent plus le data cache du Cpu
- utilisent beaucoup moins le code cache du Cpu
- utilisent moins d'instructions Cpu et Fpu
- fonctionnent avec tous les Fpu 68k
- 100% compatible avec toutes les cartes accélératrices équipées d'un Fpu 68k
- nouvelle librarie à priori compatible tout Kickstart et Workbench (à tester)
Ma nouvelle version de doubbasTest 1.1 détecte automatiquement cette nouvelle librairie. Quelques benchs réalisés sous WinUAE entre les anciennes d0-d1 et mes nouvelles _fp0 :
1) IEEEDPFix (80.9394) 38) IEEEDPFix_fp0 (80.9394)
Elapsed time : 7.8 seconds Elapsed time : 4.98 seconds 56 % plus rapide
2) IEEEDPFix (-80.9394) 39) IEEEDPFix_fp0 (-80.9394)
Elapsed time : 7.8 seconds Elapsed time : 4.96 seconds 57% plus rapide
3) IEEEDPFlt (33) 40) IEEEDPFlt_fp0 (33)
Elapsed time : 7.82 seconds Elapsed time : 4.98 seconds 57% plus rapide
4) IEEEDPFlt (-33), 41) IEEEDPFlt_fp0 (-33)
Elapsed time : 7.8 seconds Elapsed time : 4.98 seconds 56% plus rapide
5) IEEEDPCmp (80.9394, 94.951) 42) IEEEDPCmp_fp0 (80.9394, 94.951)
Elapsed time : 12.06 seconds Elapsed time : 8.52 seconds 41% plus rapide
6) IEEEDPCmp (80.9394, 80.9394) 43) IEEEDPCmp_fp0 (80.9394, 80.9394)
Elapsed time : 14.9 seconds Elapsed time : 7.8 seconds 91% plus rapide
7) IEEEDPCmp (80.9394, -94.951) 44) IEEEDPCmp_fp0 (80.9394, -94.951)
Elapsed time : 12.08 seconds Elapsed time : 8.52 seconds 41% plus rapide
8) IEEEDPCmp (-80.9394, -94.951) 45) IEEEDPCmp_fp0 (-80.9394, -94.951)
Elapsed time : 12.78 seconds Elapsed time : 8.52 seconds 50% plus rapide
9) IEEEDPCmp (-80.9394, 94.951) 46) IEEEDPCmp_fp0 (-80.9394, 94.951)
Elapsed time : 11.36 seconds Elapsed time : 8.52 seconds 33% plus rapide
10) IEEEDPCmp (-80.9394, -80.9394) 47) IEEEDPCmp_fp0 (-80.9394, -80.9394)
Elapsed time : 14.9 seconds Elapsed time : 7.82 seconds 90% plus rapide
14) IEEEDPAbs (94.951) 48) IEEEDPAbs_fp0 (94.951)
Elapsed time : 5.68 seconds Elapsed time : 4.96 seconds 14% plus rapide
15) IEEEDPAbs (-94.951) 49) IEEEDPAbs_fp0 (-94.951)
Elapsed time : 5.68 seconds Elapsed time : 4.96 seconds 14% plus rapide
16) IEEEDPNeg (94.951) 50) IEEEDPNeg_fp0 (94.951)
Elapsed time : 5.68 seconds Elapsed time : 4.98 seconds 14% plus rapide
17) IEEEDPNeg (-94.951) 51) IEEEDPNeg_fp0 (-94.951)
Elapsed time : 5.68 seconds Elapsed time : 4.96 seconds 14% plus rapide
18) IEEEDPAdd (80.9394, 123.9291) 52) IEEEDPAdd_fp0 (80.9394, 123.9291)
Elapsed time : 11.36 seconds Elapsed time : 5.68 seconds 100% plus rapide
19) IEEEDPAdd (-80.9394, 123.9291) 53) IEEEDPAdd_fp0 (-80.9394, 123.9291)
Elapsed time : 11.36 seconds Elapsed time : 5.68 seconds 100% plus rapide
20) IEEEDPAdd (-80.9394, -123.9291) 54) IEEEDPAdd_fp0 (-80.9394, -123.9291)
Elapsed time : 11.36 seconds Elapsed time : 5.68 seconds 100% plus rapide
21) IEEEDPAdd (80.9394, -123.9291) 55) IEEEDPAdd_fp0 (80.9394, -123.9291)
Elapsed time : 11.36 seconds Elapsed time : 5.68 seconds 100% plus rapide
22) IEEEDPSub (80.9394, 123.9291) 56) IEEEDPSub_fp0 (80.9394, 123.9291)
Elapsed time : 11.36 seconds Elapsed time : 5.68 seconds 100% plus rapide
23) IEEEDPSub (-80.9394, 123.9291) 57) IEEEDPSub_fp0 (-80.9394, 123.9291)
Elapsed time : 11.36 seconds Elapsed time : 5.68 seconds 100% plus rapide
24) IEEEDPSub (-80.9394, -123.9291) 58) IEEEDPSub_fp0 (-80.9394, -123.9291)
Elapsed time : 11.36 seconds Elapsed time : 5.68 seconds 100% plus rapide
25) IEEEDPSub (80.9394, -123.9291) 59) IEEEDPSub_fp0 (80.9394, -123.9291)
Elapsed time : 11.36 seconds Elapsed time : 5.68 seconds 100% plus rapide
26) IEEEDPMul (80.9394, 123.9291) 60) IEEEDPMul_fp0 (80.9394, 123.9291)
Elapsed time : 11.36 seconds Elapsed time : 5.66 seconds 100% plus rapide
27) IEEEDPMul (-80.9394, 123.9291) 61) IEEEDPMul_fp0 (-80.9394, 123.9291)
Elapsed time : 11.36 seconds Elapsed time : 5.66 seconds 100% plus rapide
28) IEEEDPMul (-80.9394, -123.9291) 62) IEEEDPMul_fp0 (-80.9394, -123.9291)
Elapsed time : 11.36 seconds Elapsed time : 5.68 seconds 100% plus rapide
29) IEEEDPMul (80.9394, -123.9291) 63) IEEEDPMul_fp0 (80.9394, -123.9291)
Elapsed time : 11.36 seconds Elapsed time : 5.68 seconds 100% plus rapide
30) IEEEDPDiv (80.9394, 123.9291) 64) IEEEDPDiv_fp0 (80.9394, 123.9291)
Elapsed time : 11.34 seconds Elapsed time : 5.68 seconds 100% plus rapide
31) IEEEDPDiv (-80.9394, 123.9291) 65) IEEEDPDiv_fp0 (-80.9394, 123.9291)
Elapsed time : 11.36 seconds Elapsed time : 5.68 seconds 100% plus rapide
32) IEEEDPDiv (-80.9394, -123.9291) 66) IEEEDPDiv_fp0 (-80.9394, -123.9291)
Elapsed time : 11.36 seconds Elapsed time : 5.68 seconds 100% plus rapide
33) IEEEDPDiv (80.9394, -123.9291) 67) IEEEDPDiv_fp0 (80.9394, 123.9291)
Elapsed time : 11.36 seconds Elapsed time : 5.68 seconds 100% plus rapide
34) IEEEDPFloor (80.9394) 68) IEEEDPFloor_fp0 (80.9394)
Elapsed time : 10.66 seconds Elapsed time : 7.1 seconds 50% plus rapide
35) IEEEDPFloor (-80.9394) 69) IEEEDPFloor_fp0 (-80.9394)
Elapsed time : 13.48 seconds Elapsed time : 7.8 seconds 72% plus rapide
36) IEEEDPCeil (80.9394) 70) IEEEDPCeil_fp0 (80.9394)
Elapsed time : 12.78 seconds Elapsed time : 7.8 seconds 64% plus rapide
37) IEEEDPCeil (-80.9394) 71) IEEEDPCeil_fp0 (-80.9394)
Elapsed time : 10.64 seconds Elapsed time : 7.1 seconds 49% plus rapide
Cette version 45.4 est gratuite : vous devez juste la mettre dans Sys:Libs/ et c'est tout !
Je suis en train de finir le nouvel autodoc de cette nouvelle version pour les développeurs.