Bonjour,
Tout à fait au hasard j'ai put remarquer que Javascript (plus particuliérement sur firefox que sur chrome) est bien plus rapide que python (CPython)
Version python
for a in xrange(2,10000):
sa=1
for d in xrange(2,a-2):
if a%d==0: sa+=d
b,sb=sa,1
for d in xrange(2,b-2):
if b%d==0: sb+=d
if sb==a and a<b:
print a,b
Version javascript
for(a=2;a<=20000;a++)
{
sa=1;
for(d=2;d<=a-2;d++) {if (a%d==0) sa=sa+d}
b=sa ; sb=1;
for(d=2;d<=b-2;d++) {if (b%d==0) sb=sb+d}
if (sb==a && a<=b)
{if(!confirm(a+" et "+b+" sont amicaux")) return};
}
Vous pouvez tester la version js ici : http://serge.mehl.free.fr/anx/nb_amic.html
Mais pourtant :[http://shootout.alioth.debian.org/gp4/benchmark.php?test=all(...)]
Ici je ne démontre strictement rien,et je pense que la domination sur le web de javascript à poussé à develloper de meilleurs moteurs,car les deux language se ressemblent mais leur diffusion est differente.
# Petite erreur
Posté par Kopec . Évalué à 1.
if sb==a and a<=b:
print a,b
[^] # Re: Petite erreur
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 3.
les derniéres ligne du code JavaScript sont
if (sb==a && a<b)
{if(!confirm(a+" et "+b+" sont amicaux")) return};
Car a et b ne peuvent pas être amicaux si a = b…
[^] # Re: Petite erreur
Posté par Kopec . Évalué à 2.
# yach.....
Posté par djibb (site web personnel) . Évalué à 3.
23s en python....
# psyco
Posté par pas_moi . Évalué à 8.
[^] # Re: psyco
Posté par chimrod (site web personnel) . Évalué à 5.
[^] # Re: psyco
Posté par GeneralZod . Évalué à 7.
* SpiderMonkey (interpréteur javascript inclus dans Gecko): tu as TraceMonkey qui ajoutes la compilation native (FF 3.5+) uniquement pour x86 32 bits (c'est encore expérimental pour le 64 bits)
* v8 (Chromium): JIT x86 only
* SquirrelFish Extreme aka Nitro (WebKit): JIT x86 32 bits only
Donc c'est pas si stupide que ça de vouloir comparer avec psyco.
J'ai fais rapidement l'expérience avec gjs (basé sur SpiderMonkey) et CPython 2.6, je trouve pour le premier 28s (sans affichage console, l'introspection GLib est pété), et pour le second 14.26s. Avec V8 c'est 4.7s mais c'est du JIT derrière.
[^] # Re: psyco
Posté par Ontologia (site web personnel) . Évalué à 3.
Mais je sais pas si c'est activé..
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: psyco
Posté par JoeltheLion (site web personnel) . Évalué à 1.
[^] # Re: psyco
Posté par GeneralZod . Évalué à 3.
# Et avec numpy
Posté par dave . Évalué à 2.
Systemd, the bright side of linux, toward a better user experience and on the road to massive adoption of linux for the desktop.
[^] # Re: Et avec numpy
Posté par yellowiscool . Évalué à 4.
Envoyé depuis mon lapin.
[^] # Re: Et avec numpy
Posté par Kopec . Évalué à 4.
[^] # Re: Et avec numpy
Posté par Kerro . Évalué à 2.
[^] # Re: Et avec numpy
Posté par yellowiscool . Évalué à 2.
http://docs.python.org/py3k/library/index.html
Javascript propose de base des fonctionnalités très limités, et c'est voulu. Après, c'est au moteur de rajouter les fonctionnalités.
Envoyé depuis mon lapin.
# Ça dépend
Posté par benoar . Évalué à 5.
* Python : 23,47s
* Javascript : 42s (en gros)
Je suis en amd64, donc sans JIT, c'est ça qui doit faire la différence ...
[^] # Re: Ça dépend
Posté par Kerro . Évalué à 5.
Ca fait visiblement une différence car sur mon Sempron d'il y a 4 ans ça ne met que 12 secondes :-)
[^] # Re: Ça dépend
Posté par Kopec . Évalué à 2.
Parce que même firefox 3 s'en tire tranquille ( et ya rien à voir avec ton architecture amd64 je pense)
[^] # Re: Ça dépend
Posté par benoar . Évalué à 2.
# [HS] algo
Posté par gaaaaaAab . Évalué à 6.
[^] # Re: [HS] algo
Posté par solsTiCe (site web personnel) . Évalué à 1.
# À mon tour !
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 6.
% time python loop.py
6 6
28 28
220 284
496 496
1184 1210
2620 2924
5020 5564
6232 6368
8128 8128
python loop.py 36.03s user 0.00s system 98% cpu 36.459 total
% cat loop.cl
(loop for a from 2 to 10000
do
(let ((sa 1))
(loop for d from 2 to (- a 2)
do
(when (= 0 (mod a d))
(incf sa d)))
(let ((b sa)
(sb 1))
(loop for d from 2 to (- b 2)
do
(when (= 0 (mod b d))
(incf sb d)))
(when (and (= sb a) (<= a b))
(format t "wesh ~a and ~a" a b)))))
time sbcl --noinform < loop.cl
* wesh 6 and 6wesh 28 and 28wesh 220 and 284wesh 496 and 496wesh 1184 and 1210wesh 2620 and 2924wesh 5020 and 5564wesh 6232 and 6368wesh 8128 and 8128
NIL
* sbcl --noinform < loop.cl 2.23s user 0.02s system 98% cpu 2.279 total
Bon, ben je suis toujours content d'utiliser CL le vendredi.
# j'en rajoute
Posté par steph1978 . Évalué à 1.
gcc
1.444s
gcc -O3
0.914s
java
1.379s
java -Xint
7.779s
sur un P8600 2.14GHz sous ouinouin.
[^] # Re: j'en rajoute
Posté par khivapia . Évalué à 2.
# DÉMODÉ
Posté par igouy . Évalué à 1.
DÉMODÉ
http://shootout.alioth.debian.org/u32/compare.php?lang=v8&am(...)
http://shootout.alioth.debian.org/u32/compare.php?lang=trace(...)
http://shootout.alioth.debian.org/u32/compare.php?lang=v8&am(...)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.