[PYTHON] J'ai implémenté N-Queen dans différentes langues et mesuré la vitesse

Qu'est-ce que N Queen?

[Wikipédia](http://ja.wikipedia.org/wiki/%E3%82%A8%E3%82%A4%E3%83%88%E3%83%BB%E3%82%AF%E3%82 À partir de% A4% E3% 83% BC% E3% 83% B3)

Langue et environnement mesurés

Méthode de mesure

Supplément

--C ++ mesuré à la fois avec et sans l'option d'optimisation (-O2) --scala, jruby, go sont mesurés même lorsqu'ils sont compilés et exécutés

résultat

L'ordre va du haut au temps de calcul le plus court

Langue Temps d'exécution[sec]
g++(optimized) 0.004061574
clang++(optimized) 0.004093134
Go(build) 0.005815614
g++ 0.012018177
clang++ 0.012222187
Python2 0.040775757
Python3 0.051630976
Ruby 0.056118734
Java 0.078041175
PyPy 0.11399388
Go(run) 0.134464302
Scala(compiled) 0.282327195
JRuby(compiled) 0.504547193
JRuby 0.532120016
Scala 0.999965983
Jython 1.589687792

8_Queen.png

Langue Temps d'exécution[sec]
clang++(optimized) 0.056653161
g++(optimized) 0.058508989
Go(build) 0.088222303
Java 0.112575218
PyPy 0.155844031
Go(run) 0.216286206
g++ 0.238363557
clang++ 0.24784999
Scala(compiled) 0.37189259
Ruby 0.73327008
Python2 0.772239671
Scala 0.89499009
Python3 0.904239401
JRuby(compiled) 1.196120654
JRuby 1.211435426
Jython 2.741914947

10_Queen.png

Langue Temps d'exécution[sec]
Java 0.703052139
Scala(compiled) 1.410754272
clang++(optimized) 1.534444107
g++(optimized) 1.618736218
Scala 1.858531651
PyPy 2.310975255
Go(build) 2.535418489
Go(run) 2.653822287
g++ 7.054370503
clang++ 7.600850881
JRuby 16.90064013
JRuby(compiled) 16.99699324
Ruby 23.417935
Jython 24.83727352
Python2 25.03811865
Python3 28.62561042

12_Queen.png

Calculateur

Résumé

--Je pensais que C ++ était le plus rapide quelle que soit la valeur de N, mais le résultat était inattendu.

Recommended Posts

J'ai implémenté N-Queen dans différentes langues et mesuré la vitesse
J'ai mesuré la vitesse de la notation d'inclusion de liste, pendant et pendant avec python2.7.
J'ai implémenté le modèle VGG16 avec Keras et essayé d'identifier CIFAR10
J'ai essayé d'implémenter la fonction gamma inverse en python
J'ai lu et implémenté les variantes de UKR
J'ai essayé d'implémenter Human In The Loop - Partie ① Tableau de bord -
HMAC en plusieurs langues
Représentation numérique des jours dans différentes langues
Recevez le formulaire en Python et faites diverses choses
J'ai vérifié la vitesse de référence lors de l'utilisation de la liste python, du dictionnaire et du type de jeu.
J'ai comparé la vitesse de la référence du python dans la liste et la référence de l'inclusion du dictionnaire faite à partir de la liste dans.
J'ai mesuré différentes méthodes de communication inter-processus en multitraitement de python3
J'ai essayé d'illustrer le temps et le temps du langage C
J'ai essayé de programmer le test du chi carré en Python et Java.
Rivaliser pour les E / S de fichiers dans différentes langues et comparer les vitesses
J'ai comparé la vitesse de Hash avec Topaz, Ruby et Python
Quelle automatisation doit être effectuée en RPA, VBA, langage de programmation?
[AOJ] Tri décroissant dans différentes langues
Je me suis perdu dans le labyrinthe
J'ai participé au tour de qualification ISUCON10!
J'ai écrit la file d'attente en Python
J'ai écrit la pile en Python
J'ai remplacé le calcul numérique de Python par Rust et comparé la vitesse
Implémenté en python après avoir compris les phénomènes que se produisent diverses distributions de probabilité
Le nom du fichier était mauvais en Python et j'étais accro à l'importation
Quels sont le "pipeline" et "{...}" dans le pipeline Jenkins Pipeline {...} (pour les débutants Groovy, pour les langages expérimentés)
J'ai essayé de sauvegarder les données récupérées au format CSV!
J'ai essayé d'implémenter la régression logistique de Cousera en Python
Tri sélect écrit en C
J'ai écrit un test unitaire pour différentes langues
Je ne peux pas obtenir l'élément dans Selenium!
Divers commentaires à écrire dans le programme
Trouvez-le dans la file d'attente et modifiez-le
J'ai écrit l'aile coulissante dans la création.
Implémentation de DQN avec TensorFlow (je voulais ...)
Je veux visualiser où et combien de personnes se trouvent dans l'usine
J'ai eu la date du riz du pub de Kagawa et j'ai dessiné un graphique
Je ne peux pas utiliser le paramètre "next_results" dans l'API de recherche d'API Twitter! ?? Causes et remèdes
J'ai comparé la vitesse de l'écho du framework web en langage go et du flask du framework web python
Parlez des fonctionnalités dont les pandas et moi étions en charge dans le projet
Notez que je comprends l'algorithme des moindres carrés. Et je l'ai écrit en Python.
Essayez d'afficher la séquence de Fibonacci dans différentes langues comme pratique d'algorithme
Je veux obtenir le nom du fichier, le numéro de ligne et le nom de la fonction dans Python 3.4