[GO] Mehrstellige Multiplikationszeit bis zu 300 Millionen Stellen in Python

Wir verglichen die mehrstellige Multiplikation von Python und C (gmp von gnu). Die Berechnungszeit auf einem Personal Computer (4 GHz) wird unten angezeigt (Einheit: Sekunden). Dezimal 300 Millionen Stellen (Ergebnis) Berechnet in der Reihenfolge von 1 Mal bis zur Hälfte der Anzahl der Stellen und mehrmals. Der Wert ganz rechts ist die 128-mal berechnete Zeit in 2,36 Millionen Dezimalstellen. 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) Sie können sehen, dass Python die Karatsuba-Methode verwendet und gmp FMT (Integer FFT) mit mehr als 1000 Stellen verwendet. Python hat die doppelte Anzahl von Ziffern und benötigt dreimal so viel Zeit (1,5-mal in umgekehrter Reihenfolge im Beispiel). Da gmp eine FMT-Berechnung ist, ist es das logarithmische Verhältnis (Anzahl der Stellen) um die Anzahl der Stellen x die Anzahl der Male. Die Python-Quelle und die detaillierten Ergebnisse für beide finden Sie in der mehrstelligen Multiplikation des Python-Programms unter https://ecc-256.com. Interessanterweise ist Python mit 20 bis 200 Dezimalstellen nur etwa doppelt so langsam (beide sind riesig). Dies liegt wahrscheinlich daran, dass die Sicherung eines Speicherorts für die Ergebnisse und den Zeiger viel Zeit in Anspruch nimmt. Python konvertiert a nur langsam in eine Dezimalzahl mit d10 = Format (a). Die Konvertierung dauert viermal so lange wie die Multiplikation doppelt so viele Ziffern und dreimal so lange. Die Multiplikations- und Konvertierungszeiten von 1,18 Millionen Stellen, 2,36 Millionen Stellen und 4,72 Millionen Stellen werden der Reihe nach angezeigt. Multiplizieren: 0,24, 0,72, 2,19 (s), Konvertieren: 19, 77, 308 (s)

Recommended Posts

Mehrstellige Multiplikationszeit bis zu 300 Millionen Stellen in Python
So zeigen Sie die neunundneunzig Tabelle in Python an
3 Möglichkeiten, Zeitzeichenfolgen mit Python zu analysieren [Hinweis]
Eine clevere Möglichkeit zur Zeitverarbeitung mit Python
Zur Darstellung von Datum, Uhrzeit, Uhrzeit und Sekunden in Python
Konvertieren Sie Datum und Uhrzeit in Zeitzonen in Unixtime in Python2.7
So ermitteln Sie die Anzahl der Stellen in Python
So messen Sie die Verarbeitungszeit mit Python oder Java
Löse die Multiplikation (entspricht Paiza Rang D) in Python
So löschen Sie stdout in Python
Melden Sie sich auf der Website in Python an
Matrixprodukt in Python numpy
Sprechen mit Python [Text zu Sprache]
Wie man in Python entwickelt
Post an Slack in Python
Ein Skript, das bis zu 5 Sekunden zählt und in Blenders Python stoppt
So importieren Sie die in EFS eingerichtete Python-Bibliothek in Lambda
Bestimmen Sie das Datums- und Uhrzeitformat mit Python und konvertieren Sie es in Unixtime
[Python] Wie man PCA mit Python macht
Konvertieren Sie Markdown in Python in PDF
So sammeln Sie Bilder in Python
Verwendung von SQLite in Python
Messen Sie die Ausführungszeit von Funktionen in Python
Versuchen Sie, Trace in Python zu berechnen
So schreiben Sie offline in Echtzeit Lösen von E04-Problemen mit Python
Python (vom ersten Mal bis zur Ausführung)
Wie man MySQL mit Python benutzt
So verpacken Sie C in Python
Verwendung von ChemSpider in Python
6 Möglichkeiten zum Stringen von Objekten in Python
Verwendung von PubChem mit Python
So beschleunigen Sie Python-Berechnungen
Code-Tests rund um die Uhr in Python
Umgang mit Japanisch mit Python
Eine Alternative zu "Pause" in Python
So berechnen Sie "xx time" in einem Schuss mit Python timedelta
Fordern Sie Fizz Buzz heraus! Probleme mit Python in 5 Mustern (nur jetzt bis zu 398)
So ermitteln Sie mit Python den Unterschied zwischen Datum und Uhrzeit in Sekunden
Hinweise Ich habe nachgeschlagen, um Befehlszeilentools in Python zu erstellen
So stoppen Sie das Programm bis zu einem bestimmten Datum und einer bestimmten Uhrzeit in Python
[Einführung in Python] Wie verwende ich eine Klasse in Python?
Installieren Sie Pyaudio, um Wellen in Python zu spielen
Ich habe versucht, Permutation in Python zu implementieren
Methode zum Erstellen einer Python-Umgebung in Xcode 6
[Python] Matrix-Multiplikationsverarbeitungszeit mit NumPy
Dynamisches Definieren von Variablen in Python
So machen Sie R chartr () in Python
Pin aktuelles Verzeichnis an Skriptverzeichnis in Python
[Itertools.permutations] So löschen Sie eine Sequenz in Python
PUT gzip direkt in S3 in Python
Drucken Sie einfach die in Python verstrichene Zeit in Sekunden
Senden Sie mit Python (Python3) E-Mails an mehrere Empfänger.
Konvertieren Sie die psd-Datei in Python in png
Beispielskript zum Überfüllen von Signalen in Python
Ich habe versucht, PLSA in Python 2 zu implementieren
Privates Python-Handbuch (von Zeit zu Zeit aktualisiert)
So setzen Sie die Standardcodierung in Python auf utf-8
So arbeiten Sie mit BigQuery in Python
Melden Sie sich mit Anforderungen in Python bei Slack an