En fait Python ne va pas déléguer l'opération directement au processeur comme d'autre langage, car il fait du "boxing", c'est à dire il ne permet pas à un nombre de déborder, mais gère des nombres aléatoirement grand.
J'ai pu utiliser ça il y a pas longtemps pour comparer des vecteurs de grandes tailles, et approximer un log likehood par un xor (ça marchait car je comparais deux vecteurs pour des valeurs oui/non, donc binaire). En gros je devais compter les faux positifs et faux négatifs (donc là où j'avais 1 quand j'aurais du avoir 0, et 0 quand j'aurais du avoir 1, ce que xor peut permettre de compter).
Je me suis aperçu que malgré la "mise en boite" (et donc pas mal de calculs en plus de la part de python), le xor restait assez rapide même sur de très grand nombres (de 500 000 chiffres).
# En python - mise en boite des nombres
Posté par Alex G. . En réponse au journal Un décalage de 64 bits, ça vous inspire comment ?. Évalué à 8.
En fait Python ne va pas déléguer l'opération directement au processeur comme d'autre langage, car il fait du "boxing", c'est à dire il ne permet pas à un nombre de déborder, mais gère des nombres aléatoirement grand.
J'ai pu utiliser ça il y a pas longtemps pour comparer des vecteurs de grandes tailles, et approximer un log likehood par un xor (ça marchait car je comparais deux vecteurs pour des valeurs oui/non, donc binaire). En gros je devais compter les faux positifs et faux négatifs (donc là où j'avais 1 quand j'aurais du avoir 0, et 0 quand j'aurais du avoir 1, ce que xor peut permettre de compter).
Je me suis aperçu que malgré la "mise en boite" (et donc pas mal de calculs en plus de la part de python), le xor restait assez rapide même sur de très grand nombres (de 500 000 chiffres).
Je pense que le premier essais est plus long à cause des chargement de la mémoire (pour les deux autres itérations, le cache du processeur joue).