[PYTHON] Comparaison de vitesse de murmurhash3, md5 et sha1

Je m'inquiétais de la vitesse de la fonction de hachage, alors prenez note.

Comparez le classique (?) Md5 avec sha1 et murmurhash3. Exécutez 100 séries de 100 000 fois chacune et comparez les résultats. La machine que j'ai exécutée était MacBook Pro fin 2016 avec Intel Core i7 2,6 GHz Quad Core.

Fonction de hachage temps(s)
md5 12.7691998482
sha1 13.9324979782
murmurhash3 2.75016593933

Ceci est le code de comparaison.

#!/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

Comparaison de vitesse de murmurhash3, md5 et sha1
Comparaison d'Apex et de Lamvery
Comparaison de vitesse entre CPython et PyPy
Comparaison de la vitesse de la perspective XML Python
Comparaison de vitesse du traitement de texte intégral de Wiktionary avec F # et Python
Histoire de la comparaison de vitesse d'une sorte de valeur numérique et de chaîne de caractères (inachevée))
Comparaison de gem, bundler et pip, venv
Comparaison de l'héritage de classe et de la description du constructeur
Essayez la comparaison de vitesse de l'API BigQuery Storage
Comparaison de la régularisation L1 et Leaky Relu
[Python3] Comparaison de vitesse, etc. sur la privation de numpy.ndarray
Comparaison d'exemples d'implémentation de k-means de scikit-learn et pyclustering
Comparez la vitesse d'ajout et de carte Python
Comparaison d'écriture R et Python (méthode de division mutuelle euclidienne)
Comparaison de Python et Ruby (Environment / Grammar / Literal Edition)
Comparaison de vitesse entre la variable de comptage incrémentielle et l'énumération
Quoi utiliser pour les piles et les files d'attente Python (comparaison de vitesse de chaque structure de données)
Comparaison de vitesse de chaque langue par la méthode de Monte Carlo
Expérience de comparaison de la vitesse d'écriture de fichier entre python 2.7.9 et pypy 2.5.0
Capture d'image / comparaison de la vitesse OpenCV avec et sans GPU
Une comparaison rapide des bibliothèques de test Python et node.js
Bibliothèque DNN (Deep Learning): Comparaison de chainer et TensorFlow (1)
Comparaison de Windows Server et Linux gratuit et Linux commercial
Tableau de comparaison des processus fréquemment utilisés de Python et Clojure
Comparaison de CoffeeScript avec la grammaire JavaScript, Python et Ruby
Comparaison des implémentations LDA
Comparaison des classificateurs en ligne
Comparaison des programmes d'adaptation
"Moyenne des sommes de 1 à 10" et sa vitesse d'exécution
[Python] Comment définir des noms de variables dynamiquement et comparer la vitesse
Comparaison de l'utilisation des fonctions d'ordre supérieur dans Python 2 et 3
La comparaison et l'optimisation des vitesses BASIC et C et assembleur jouent avec IchigoJam
Comparaison de la loi hongroise et des solveurs polyvalents pour les problèmes d'allocation