Pyston 2 יישום של Python עם מהדר JIT

לאחר הפסקה של שלוש שנים בפיתוח, השקת פרויקט Pyston 2 פורסמה, מה פיתחתיליישום ביצועים גבוהים של שפת הפיתון תוך שימוש בפיתוחים של פרויקט LLVM.

היישום בולט בשימוש בטכנולוגיות אוסף JIT מודרניות ומטרתה להשיג ביצועים גבוהים בדומה לשפות מערכת מסורתיות כמו C ++.

הקוד מגרסאות קודמות מאת פיסטון הופץ ברישיון אפאצ'י, אך קוד Pyston 2 עדיין אינו זמין ורק בנייה מוכנה לשימוש משוחררת עבור אובונטו 18.04 ו- 20.04 (קובץ עם הקוד זמין להורדה, אך יש רק תור עם מידע שהפרויקט עדיין סגור) .

פרסום הקוד הוא חלק מתוכניות היזמיםאבל זה ייעשה לאחר השלמת גיבוש המודל העסקי של החברה החדשה והוחלט להמשיך ולפתח את Pyston ללא התמיכה הכספית של Dropbox.

אודות Pyston 2

בניגוד לגרסאות קודמות, Pyston 2 מסומן יציב ולא כגרסת ניסיון. נעשתה עבודה רבה על מנת למטב את הביצועים וכעת Pyston 2 מהיר יותר מ- Python 3.8 המקורי בכ -20% בעת העברת חבילת הבדיקות של פייתון-מאקרו-בנצ'קים.

רווחי הביצועים הבולטים ביותר ניכרים בעומסי העבודה הטמונים ביישומי אינטרנט. במבחנים נפרדים כמו chaos.py ו- nbody.py, Pyston 2 עולה על Python 3.8 בפקטור 2. עלות השימוש ב- JIT היא עלייה קלה בצריכת הזיכרון.

אנו שמחים מאוד לשחרר את Pyston v2, יישום מהיר ותואם ביותר של שפת התכנות Python. גרסה 2 מהירה ב -20% מה- Python 3.8 הסטנדרטי בסימני המאקרו שלנו. וחשוב יותר, סביר להניח שהוא מהיר יותר בקוד שלך. Pyston v2 יכול להפחית את עלויות השרתים, להפחית את זמן ההשהיה של המשתמשים ולשפר את פרודוקטיביות המפתחים.

קל ליישם את Pyston v2, כך שאם אתם מחפשים ביצועים טובים יותר של Python, אנו ממליצים לכם לקחת חמש דקות ולנסות את Pyston. פעולה זו היא אחת הדרכים הקלות להאיץ את הפרויקט שלך.

מבחינת תאימות עם פיתון יליד, פרויקט Pyston מוצג כמימוש החלופי התואם ביותר ל- CPython, מכיוון שפיסטון היא מזלג של בסיס הקוד הראשי של CPython.

פיסטון תומך בכל פונקציות ה- CPython, כולל C API לפיתוח סיומות C. Pyston פותחה במקור על ידי Dropbox, שבשנת 2017 החליטה להפסיק את הפיתוח הפנימי. בתחילת 2020 הקימו המפתחים המובילים של Pyston את החברה שלהם, המציאו מחדש את הפרויקט והחלו לעבוד במשרה מלאה בפיסטון.

פרטים טכניים על ריפוד Pyston 2 עדיין אינם מסופקים, רק DynASM JIT, מטמון מוטבע ואופטימיזציות כלליות של CPython מוזכרים. הגרסה הקודמת של Pyston השתמשה בשיטת JIT אחת בכל פעם, בדומה ל- JIT במנועי JavaScript מודרניים.

ב- JIT קוד הפיתון נותח ותורגם לייצוג ביניים LLVM (IR, ייצוג ביניים). יתר על כן, ייצוג ה- IR עבר עיבוד במיטוב ה- LLVM והועבר למנוע ה- LLVM JIT לביצוע, שהמיר את ייצוג ה- IR לקוד מכונה.

כדי להשיג מידע על סוגי המשתנים לתוכניות בשפת הפיתון הדינמית, נעשה שימוש בטכניקה של חיזוי הסתברותי של סוגי אובייקטים, ואחריו בירור הבחירה הנכונה של הסוג במהלך הביצוע.

לפיכך, פיזון מגוון ללא הרף את הביצוע בין שני ענפים: הצום, כאשר השיעורים החזויים מאושרים, והאיטי, המשמש במקרה של חוסר התאמה בין סוגים.

העבודה יכולה להיעשות במצב רב-הברגה, המאפשר ביצוע מקביל של מספר שרשורי קוד בשפת הפיתון וחופשי מנעילת המתורגמנים הגלובלית (GIL).

בסופו של דבר אם אתה רוצה לדעת יותר על זה, אתה יכול לבדוק את הפרטים ב הקישור הבא.


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.