chan79 a écrit:salut
Evidemment, en basic, ça va moins vite...
Dans le cas du Commodore C128D, c'est pas le BASIC (ou le fait qu'il soit uniquement interprété) qui pose problème, c'est plutôt la vitesse globale du système et la capacité limité du processeur:
La fréquence n'est que de 1 ou 2 MHz et comme comme les registres internes de son porcesseur sont de 8 bits, rien que pour déplacer (ou additionner) un nombre réel (4 octets), il faut au minimum 5 cycles (sur la page "0") ou 11 cycle (si changement hors de la plage mémoire iniitale) ou 33 cycles (si changemtn de banque mémoire).
Cela fait très vite quelques dizaines de µs, soit le temps qu'un multi-core actuel à 4 GHz met pour faire la même opération sur 33000 ou 66000 nombres réels du même type pour chacun des 'cores'. Donc un 4-core "calcul" entre 40000 et 264000 x plus vite !!!
Bon, en même temps, les système actuel font 2000 à 4000 trucs inutiles à chaque instant (système d'exploitation actuels obligent !), alors le rapport de force n'est pas aussi catastrophique. Mais quand-même cela donne à réflèchir !
Quand à ton idée de partager, les cas en fonction de la position du MOT le plus contraignient, c'est une excellente approche; elle fait partie des algorithme type "partager pour conquérir", ou comment découper de façon récursive le problème en sous-problèmes plus facile à résoudre !