
בנצ'מרק של Python 3.15: עלייה זעירה בהשוואה ל-3.14, שיפור ברור ב-JIT
בנצ'מרק בלתי רשמי של מיגל גרינברג משווה את Python 3.15.0rc3 עם גרסאות עד 3.10. בהשוואה ל-3.14 עליית הביצועים מזערית, אך ה-JIT הניסיוני מעניק האצה ברורה, ו-free-threading בולט במבחנים רב-תהליכוניים.
בנצ'מרק בלתי רשמי חדש, שביצע מהנדס תוכנה מיגל גרינברג, משווה את Python 3.15 עם גרסאות קודמות עד 3.10 ומגלה שהגרסה העתידית מהירה רק מעט יותר מקודמתה. השיפור הבולט ביותר מגיע מקומפיילר ה-JIT הניסיוני, ו-free-threading מוכיח את ערכו בעומסים רב-תהליכוניים.
פרמטרי הבנצ'מרק
המבחנים בוצעו על לפטופ Linux עם מעבד Intel Core i5. נעשה שימוש בשתי תוכניות: fibo.py, שמחשבת את מספרי פיבונאצ'י ברקורסיה, ו-bubble.py, שמסדרת 10,000 מספרים אקראיים בעזרת לולאות for. כל תוכנית הורץ במצבים חד-תהליכוני וארבע-תהליכוני, והזמנים חושבו לפי ממוצע שלוש הרצות. המטריצה כללה גם את PyPy 3.12, Node.js 26.3 ו-Rust 1.97 להקשר מערכתי, בנוסף ל-CPython 3.13 ובילדים חדשים יותר של JIT ו-free-threading. המחבר בדק את גרסת ה-release candidate 3.15.0rc3, וברגע שנכתב זה היו עוד מספר ימים עד לשחרור הרשמי של 3.15.
תוצאות חד-תהליכוניות
Python 3.15 השלים את מבחן פיבונאצ'י ב-6.94 שניות, מעט מהיר יותר מ-3.14 שאזל 7.17 שניות, וטוב בהרבה מ-3.10 שאזל 15.94 שניות. מבחן Bubble sort הראה תמונה דומה: 3.15 ב-1.97 שניות, 3.14 ב-2.06 שניות. בשני המבחנים רק Python 3.11 ו-3.14 נתנו עלייה משמעותית בהשוואה לקודמיהם הישירים, וחלק מהמהדורות הראו אף רגרסיה קטנה. PyPy 3.12 נותר שוב יישום ה-Python המהיר ביותר, במבחן פיבונאצ'י היה מהיר פי 5.54 מ-3.15, ובתוצאות הכלליות Rust הוביל פי 77.24.
קומפיילר ה-JIT של Python 3.15 ניצח את המפרש הסטנדרטי של אותה גרסה בפיבונאצ'י פי 1.20, ובמיון בועות פי 1.28. זה הפוך לתוצאות שנים קודמות, כאשר JIT לא עקף את הבילד הסטנדרטי. בילדי free-threading עבדו בעבודה חד-תהליכונית ברמה קרובה לזו של המפרש הסטנדרטי.
תוצאות רב-תהליכוניות
עם ארבעה תהליכונים המפרש הסטנדרטי כמעט לא משתנה, מכיוון ש-GIL מונע ביצוע מקבילי אמיתי. בילד ה-free-threading של Python 3.15 עבר את מבחן פיבונאצ'י במהירות גבוהה פי כ-4.5 מהמפרש הסטנדרטי, דומה למדד של 3.14, והיה מהיר יותר גם במיון בועות. בילד ה-JIT שמר על יתרון דומה מול המפרש הסטנדרטי גם עם מספר תהליכונים, מה שלדברי המחבר חדש ב-3.15.
מסקנות
המחבר מעריך ש-Python 3.15 מציג שיפור ביצועים זעיר למדי בהשוואה ל-3.14, וחלק מהמבחנים אף מראים רגרסיה קטנה. היתרון הברור היחיד הוא ב-JIT, שעדיין ניסיוני ולא מומלץ לפרודקשן. המחבר מתכנן להשאיר פרויקטי תעשייה על 3.14, ולהשתמש ב-3.15 כמפרש יומיומי לצורך תכונות חדשות כמו פתיחת comprehensions בסגנון JavaScript וייבוא עצלן (lazy imports).
מקורות: blog.miguelgrinberg.com
SiTech — פיתוח אתרים בכוח ה-AI
אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.