احتمالاً پایتون به لطف یادگیری ماشینی محبوب‌ترین زبان برنامه‌نویسی در جهان است، اما ضعف بزرگ آن عملکرد است: به سخت‌افزار پیشرفته نیاز دارد، اغلب به کارت‌های گرافیکی تکیه می‌کند، مانند جاوا اسکریپت در مرورگر اجرا نمی‌شود.

در چند سال گذشته، مایکروسافت به سریعتر پایتون کمک کرده است، پروژه ای که توسط خالق پایتون، گیدو ون روسوم، در سال 2021 آغاز شد، اندکی پس از آن که مایکروسافت او را به عنوان یک مهندس برجسته استخدام کرد و برنامه قبلی خود را برای بازنشستگی تغییر داد.

کسب اطلاعات بیشتر: Stack Overflow چیست؟ انجمنی برای همه کسانی که کدنویسی می کنند

خالق پایتون می خواست این زبان از غول چوب بری که هست، زیرک تر باشد. ون روسوم می‌خواست دو برابر سریع‌تر باشد، اما مارک شانون، یکی از مشارکت‌کنندگان کلیدی CPython (یا Core Python)، در سال 2020 یک برنامه اجرایی برای افزایش سرعت CPython تا پنج برابر نوشت. Core Python پیاده‌سازی مرجع پایتون است که سایر انواع آن مانند Anaconda متمرکز بر علم داده بر اساس آن هستند.

محبوبیت پایتون را می توان به اکوسیستم گسترده بسته ها، مانند NumPy، و فریمورک هایی مانند PyTorch نسبت داد که به پردازش اعداد و تجزیه و تحلیل داده ها کمک می کند، اما همانطور که مایکروسافت اشاره می کند، این بسته ها عمدتاً به زبان C نوشته شده اند. زبان در مقابل C و C++ که زبان های کامپایل شده هستند. به این ترتیب، CPython برای تفسیر کد پایتون به C متکی است.

مایکروسافت تیمی متشکل از شش مهندس را به همراه ون راسوم استخدام کرد تا بهبود عملکرد را از طریق CPython ارائه دهند. اکنون به تفصیل توضیح داده شده است که چگونه این سرمایه‌گذاری‌ها را به مزایایی برای CPython تبدیل می‌کند، که مشارکت‌کنندگان آن اکثراً داوطلبان هستند – معمولاً مهندسان ماهری که مشاغل دیگری دارند – اما اکنون از استخدام‌های پایتون Mictosoft سود می‌برند.

مایکروسافت کار کارکنان اریک اسنو، ال پریرا، ایریت کاتریل، مایکل دروتبوم و برانت بوچر را به نمایش می‌گذارد که همگی به بهبود عملکرد در پایتون 3.10 و 3.11 کمک کردند، که مایکروسافت ادعا می‌کند در برخی زمینه‌ها شاهد افزایش سرعت بین 10 تا 60 درصد بوده است. از زبان

Snow روی مترجم‌های فرعی کار می‌کند، در حالی که Atrial گروه‌های استثنایی جدید و ویژگی‌های استثنا* را در نسخه 3.11 پیاده‌سازی کرده است. بوچر به ایجاد تطابق الگوی ساختاری کمک کرد.

به نظر می رسد مایکروسافت محتاط است تا از تصوری که برای پایتون برنامه دارد اجتناب کند و شاید به دلیل نگرش گذشته خود نسبت به لینوکس و منبع باز از شک و تردید در میان توسعه دهندگان آگاه باشد.

Droettboom می‌گوید: «چگونه مطمئن شویم که به عنوان کمک‌کننده به جامعه پایتون نشان داده می‌شویم، نه اینکه دستور کار یا هر یک از این موارد را هدایت کنیم؟»

“زیرا کاری که ما انجام می دهیم نوعی ریسک است. احتمالاً تعداد بیشتری از پیامدهای ناخواسته و اشکالات رخ داده است زیرا ما در حال تغییر نحوه عملکرد هسته هستیم. واقعاً مهم است که تیم از جامعه برای حفظ کیفیت حمایت کند. ”

هنوز سوالاتی در مورد انگیزه های مایکروسافت در منبع باز مطرح می شود، اما این شرکت اکنون که Azure و Microsoft 365 و بیشتر با ابر هماهنگ شده اند، هدفمندتر از آن استقبال کرده است.

Snow ظاهراً 20٪ از وقت خود را در مایکروسافت صرف کار بر روی CPython می کند. کاتریل می گوید که به لطف استخدام مایکروسافت و همکاری با ون روسوم، توانسته است روی عملکرد تمرکز کند.

“پیوستن به تیم سریعتر CPython تمرکز من را نسبت به عملکرد تغییر داد. از این نظر تمرکز من تغییر کرد، اما تداومی وجود داشت که روی عملکرد استثناها کار کردم. با ساده کردن نمایش داخلی مفسر از استثناهای مطرح شده، زمان را کاهش دادم. برای بالا بردن و گرفتن یک استثنا تا حدود 10 درصد طول می کشد. در پروژه دیگری، من کامپایلر را وادار کردم تا کد بلوک های غیر را در یک منطقه جداگانه منتشر کند تا در مواردی که هیچ استثنایی وجود ندارد، نیازی به پرش از روی آنها نباشد. مطرح شد،” او گفت.

ون روسوم همچنین به جای پرداختن به تغییرات بزرگ پس از کنفرانس دوسالانه، ثبات کار به عنوان یک تیم را به طور منظم دوست دارد.

ون روسوم می‌گوید: «هر شش نفر ما هر دوشنبه همدیگر را ملاقات می‌کنیم. “همیشه بیش از اندازه کافی برای صحبت وجود دارد. این بسیار متفاوت از این است که یک انجمن اصلی توسعه دهنده برای یک اسپرینت دو بار در سال گرد هم می آیند، مانند یک روز پس از کنفرانس. البته این یک رویداد بسیار ویژه است، اما اینطور نیست.” در طول سال به من غذا نده.”

ون روسوم معتقد است که شناخت یکدیگر و کار مشترک آنها به تیم “پا” می دهد، زیرا همه “می دانند که افراد چه سبک های ارتباطی دارند و نقاط ضعف و قوت همه چیست.”

اسنو می‌گوید: «به‌عنوان یک تیم اصلی (توسعه‌دهنده پایتون) در کل جامعه، ما به خوبی با هم همکاری می‌کنیم. او بیش از یک دهه است که یک توسعه دهنده اصلی بوده است و “با داشتن تعدادی از توسعه دهندگان اصلی که روی موارد مشابه در CPython در شرکت کار می کنند، دسترسی کمی بهتر وجود دارد … درجه همکاری کمی قوی تر است.”