سؤال

لقد حاولت فقط تشغيل الجميلات الجميلة (3.1.0.1) مع جيثون (2.5.1) وكنت مندهشا لمعرفة مقدار أبطأ كان من cpython. تحليل صفحة (http://www.fixprotocol.org/specifications/fields/5000-5999.) أخذ CPETHON أقل من ثانية (0.844 ثانية ليكون دقيقا). مع Jython استغرق 564 ثانية - ما يقرب من 700 مرة.

هل يمكن لأي شخص تأكيد هذه النتيجة؟ لا يبدو أنه معقول لجيثون لتشغيل 700 مرة أبطأ من cpython. ربما هناك خطأ ما في الإعداد الخاص بي.

edit] إليك الرمز الذي اعتدت عليه لاختبار هذا (بطبيعة الحال قمت بتنزيل ملف HTML المذكور أعلاه):

import time
from BeautifulSoup import BeautifulSoup
data = open("fix-5000-5999.html").read()
start = time.time()
soup = BeautifulSoup(data)
print time.time() - start
هل كانت مفيدة؟

المحلول

يمكنني تأكيد نتائج مماثلة.

Intel Mac، OS X 10.6.1، Java 1.6.0_15 64 بت، Jython 2.5.1.

تشغيل التعليمات البرمجية الخاصة بك مع CPYTHON 2.6.1 يستغرق 0.1-0.2 ثانية، ولكن تشغيله مع جيثون يأخذ عشرات ثواني على الأقل؛ لم أستخدم أكثر من 30. كما يستخدم الكثير من وحدة المعالجة المركزية.

حاولت الحساء الجميل 3.0.7a، لأنه يستخدم محللا مختلفا، ولكن كان لديه نفس النتائج.

ومن المثير للاهتمام، لقد حاولت تشغيل التعليمات البرمجية الخاصة بك ملف HTML مختلف وقد عملت بشكل جيد. لكنه لا يزال يبدو أبطأ بكثير من CPYTHON: استغرق جيثون 1.02-1.3 ثانية؛ استغرق CpeThon 0.019-0.020.

ليس لدي أي اقتراحات في هذه المرحلة إلا أنه يجب عليك التفكير في طرح هذا السؤال على jython-المستخدمين قائمة؛ لقد وجدت المجتمع هناك، والذي يتضمن مطور الرصاص، لاستجابة ومفيدة.

حظ سعيد!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top