[PYTHON] Geschwindigkeitsvergleich von murmurhash3, md5 und sha1

Ich war besorgt über die Geschwindigkeit der Hash-Funktion, machen Sie sich also eine Notiz.

Vergleichen Sie den klassischen (?) Md5 mit sha1 und murmurhash3. Führen Sie 100 Sätze zu je 100.000 Mal aus und vergleichen Sie die Ergebnisse. Die Maschine, die ich lief, war MacBook Pro Ende 2016 mit Intel Core i7 2,6 GHz Quad Core.

Hash-Funktion Zeit(s)
md5 12.7691998482
sha1 13.9324979782
murmurhash3 2.75016593933

Dies ist der Code zum Vergleich.

#!/usr/bin/env python
import timeit


def mmh3_test():
  import mmh3

  for i in range(0, 100000):
    mmh3.hash(str(i))


def md5_test():
  import hashlib

  for i in range(0, 100000):
    hashlib.md5(str(i)).hexdigest()


def sha1_test():
  import hashlib

  for i in range(0, 100000):
    hashlib.sha1(str(i)).hexdigest()


if __name__ == '__main__':
  import timeit
  print(timeit.timeit("mmh3_test()", setup="from __main__ import mmh3_test", number=100))
  print(timeit.timeit("md5_test()", setup="from __main__ import md5_test", number=100))
  print(timeit.timeit("sha1_test()", setup="from __main__ import sha1_test", number=100))

Recommended Posts

Geschwindigkeitsvergleich von murmurhash3, md5 und sha1
Vergleich von Apex und Lamvery
Geschwindigkeitsvergleich zwischen CPython und PyPy
Geschwindigkeitsvergleich der Python-XML-Perspektive
Geschwindigkeitsvergleich der Volltextverarbeitung von Wiktionary mit F # und Python
Geschichte des Geschwindigkeitsvergleichs der Art des numerischen Werts und der Zeichenkette (unvollendet))
Vergleich von Edelstein, Bündler und Pip, Venv
Vergleich von Klassenvererbung und Konstruktorbeschreibung
Versuchen Sie den Geschwindigkeitsvergleich der BigQuery Storage API
Vergleich von L1-Regularisierung und Leaky Relu
[Python3] Geschwindigkeitsvergleich usw. über den Entzug von numpy.ndarray
Vergleichen Sie die Implementierungsbeispiele für scikit-learn und pyclustering k-means
Vergleichen Sie die Geschwindigkeit von Python Append und Map
R- und Python-Schreibvergleich (euklidische Methode der gegenseitigen Teilung)
Vergleich von Python und Ruby (Environment / Grammar / Literal Edition)
Geschwindigkeitsvergleich zwischen inkrementierender Zählvariable und Aufzählung
Verwendung für Python-Stapel und -Warteschlangen (Geschwindigkeitsvergleich jeder Datenstruktur)
Geschwindigkeitsvergleich jeder Sprache nach der Monte-Carlo-Methode
Experiment zum Vergleich der Schreibgeschwindigkeit von Dateien zwischen Python 2.7.9 und Pypy 2.5.0
Ein schneller Vergleich der Testbibliotheken von Python und node.js.
DNN (Deep Learning) Library: Vergleich von Chainer und TensorFlow (1)
Vergleich von Windows Server und freiem Linux und kommerziellem Linux
Vergleichstabelle häufig verwendeter Prozesse von Python und Clojure
Vergleich von CoffeeScript mit JavaScript-, Python- und Ruby-Grammatik
Vergleich von LDA-Implementierungen
Vergleich von Online-Klassifikatoren
Vergleich der Anpassungsprogramme
"Durchschnitt der Summen von 1 bis 10" und seine Ausführungsgeschwindigkeit
[Python] So legen Sie Variablennamen dynamisch fest und vergleichen die Geschwindigkeit
Vergleich der Verwendung von Funktionen höherer Ordnung in Python 2 und 3
BASIC und C sowie Assembler-Geschwindigkeitsvergleich und -optimierung spielen mit IchigoJam
Vergleich des ungarischen Rechts und der Allzwecklöser für Zuordnungsprobleme