Question

Je viens essayé de courir BeautifulSoup (3.1.0.1) avec Jython (2.5.1) et je suis étonné de voir combien il était plus lent que CPython. Une page Parsing ( http://www.fixprotocol.org/specifications/fields/5000- 5999 ) avec CPython a pris un peu moins d'une seconde (0,844 secondes pour être exact). Avec Jython il a fallu 564 secondes - presque 700 fois plus

.

Quelqu'un peut-il confirmer ce résultat? Il est ne semble pas raisonnable pour Jython à courir 700 fois plus lent que CPython. Peut-être que quelque chose ne va pas avec ma configuration.

[Modifier] Voici le code je tester ce (naturellement je l'ai téléchargé le fichier HTML ci-dessus mentionné):

import time
from BeautifulSoup import BeautifulSoup
data = open("fix-5000-5999.html").read()
start = time.time()
soup = BeautifulSoup(data)
print time.time() - start
Était-ce utile?

La solution

Je peux confirmer des résultats similaires.

Intel Mac, OS X 10.6.1, Java 1.6.0_15 64 bits, Jython 2.5.1.

L'exécution du code avec CPython 2.6.1 prend 0,1-0,2 secondes, mais en cours d'exécution avec Jython prend au moins des dizaines de secondes; Je n'ai pas attendu plus de 30. Il utilise aussi beaucoup de CPU.

J'ai essayé Beautiful Soup 3.0.7a, car il utilise un analyseur différent, mais avait les mêmes résultats.

Il est intéressant, j'ai essayé de courir votre code sur un fichier HTML différent il a bien fonctionné. Mais il semblait encore beaucoup plus lent que CPython: Jython a pris 1.02-1.3 secondes; CPython a 0,019-0,020.

Je n'ai pas des suggestions à ce stade, sauf que vous devriez envisager de poser cette question sur le liste de Jython utilisateurs; J'ai trouvé la communauté là-bas, qui comprend le développeur principal, être réactif et utile.

Bonne chance!

scroll top