[GO] Temps de multiplication à plusieurs chiffres jusqu'à 300 millions de chiffres en python

Nous avons comparé la multiplication à plusieurs chiffres de python et de C (gmp de gnu). Le temps de calcul sur un ordinateur personnel (4Ghz) est indiqué ci-dessous (unité: secondes). Décimal 300 millions de chiffres (résultat) Calculé dans l'ordre de 1 fois à la moitié du nombre de chiffres et plusieurs fois. La valeur à l'extrême droite est le temps calculé 128 fois en décimal 2,36 millions de chiffres. python  : 1627, 1084, 723, 482, 322, 215, 143, 96 (s) gnu(gmp)  : 4.5, 3.9, 3.7, 3,4, 3.2, 2.8, 2.6, 2.2 (s) Vous pouvez voir que python utilise la méthode Karatsuba et que gmp utilise FMT (entier FFT) avec plus de 1000 chiffres. python a deux fois plus de chiffres et prend trois fois plus de temps (1,5 fois dans l'ordre inverse dans l'exemple). Puisque gmp est un calcul FMT, il s'agit du rapport log (nombre de chiffres) par le nombre de chiffres x le nombre de fois. Voir la multiplication à plusieurs chiffres du programme python sur https://ecc-256.com pour la source python et les résultats détaillés pour les deux. Fait intéressant, python n'est qu'environ deux fois plus lent en décimal 20 à 200 chiffres (les deux sont énormes). C'est probablement parce qu'il faut beaucoup de temps pour sécuriser un emplacement pour stocker les résultats et le pointeur. python est lent à convertir a en décimal avec d10 = format (a). La conversion prend quatre fois plus longtemps que la multiplication prend deux fois plus de chiffres et trois fois plus longtemps. Les temps de multiplication et de conversion de 1,18 million de chiffres, 2,36 millions de chiffres et 4,72 millions de chiffres sont affichés dans l'ordre. Multiplier: 0.24, 0.72, 2,19 (s), Convertir: 19, 77, 308 (s)

Recommended Posts

Temps de multiplication à plusieurs chiffres jusqu'à 300 millions de chiffres en python
Comment afficher la table quatre-vingt-dix-neuf en python
3 façons d'analyser les chaînes de temps avec python [Note]
Une manière intelligente de chronométrer le traitement avec Python
Pour représenter la date, l'heure, l'heure et les secondes en Python
Convertir la date et l'heure zonées en temps Unixtime dans Python2.7
Comment obtenir le nombre de chiffres en Python
Comment mesurer le temps de traitement avec Python ou Java
Résoudre la multiplication (équivalent au rang D de paiza) en Python
Pour vider stdout en Python
Connectez-vous au site Web en Python
Produit matriciel en python numpy
Parler avec Python [synthèse vocale]
Comment développer en Python
Publier sur Slack en Python
Un script qui compte jusqu'à 5 secondes et s'arrête dans le Python de Blender
Comment importer la bibliothèque Python configurée dans EFS dans Lambda
Déterminez le format de la date et de l'heure avec Python et convertissez-le en Unixtime
[Python] Comment faire PCA avec Python
Convertir Markdown en PDF en Python
Comment collecter des images en Python
Comment utiliser SQLite en Python
Mesurer le temps d'exécution de la fonction en Python
Essayez de calculer Trace en Python
Comment écrire en temps réel hors ligne Résolution des problèmes E04 avec Python
Python (de la première fois à l'exécution)
Comment utiliser Mysql avec python
Comment envelopper C en Python
Comment utiliser ChemSpider en Python
6 façons d'enchaîner des objets en Python
Comment utiliser PubChem avec Python
Comment accélérer les calculs Python
Tests de code dans le temps en Python
Comment gérer le japonais avec Python
Une alternative à `pause` en Python
Comment calculer "xx time" en un seul coup avec Python Timedelta
Défiez Fizz Buzz! Problèmes avec Python en 5 modèles (seulement pour l'instant, nombres jusqu'à 398)
Comment obtenir la différence de date et d'heure en secondes avec Python
Notes J'ai recherché la création d'outils de ligne de commande en Python
Comment arrêter le programme jusqu'à une date et une heure spécifiques en python
[Introduction à Python] Comment utiliser la classe en Python?
Installez Pyaudio pour lire des vagues en python
J'ai essayé d'implémenter la permutation en Python
Méthode pour créer un environnement Python dans Xcode 6
[Python] Temps de traitement de la multiplication de la matrice avec NumPy
Comment définir dynamiquement des variables en Python
Comment faire R chartr () en Python
Épingler le répertoire actuel au répertoire de script en Python
[Itertools.permutations] Comment créer une séquence en Python
PUT gzip directement dans S3 en Python
Il suffit d'imprimer le temps écoulé en Python en secondes
Envoyer des e-mails à plusieurs destinataires avec Python (Python3)
Convertir un fichier psd en png en Python
Exemple de script pour piéger les signaux en Python
J'ai essayé d'implémenter PLSA dans Python 2
Manuel Python privé (mis à jour de temps en temps)
Pour définir le codage par défaut sur utf-8 en python
Comment utiliser BigQuery en Python
Connectez-vous à Slack à l'aide de requêtes en Python