Ngôn ngữ lập trình. Cách một nhóm các nhà phát triển tại Microsoft đang giúp Python nhanh hơn

Nhờ học máy, Python được cho là ngôn ngữ lập trình được sử dụng rộng rãi nhất trên thế giới, nhưng nhược điểm chính của nó là hiệu suất. nó yêu cầu phần cứng chuyên dụng, thường dựa vào card đồ họa, không dựa trên trình duyệt như JavaScript và hầu như không có trường hợp sử dụng cho thiết bị di động.  

Microsoft đã đóng góp cho Faster Python được một thời gian rồi;

Van Rossum, một trong những người đóng góp chính cho CPython [hoặc Core Python], đã viết một kế hoạch triển khai vào năm 2020 để tăng tốc CPython lên gấp 5 lần. Van Rossum muốn ngôn ngữ này nhanh nhẹn hơn so với gã khổng lồ ì ạch. Anaconda, một triển khai Python hướng đến khoa học dữ liệu, dựa trên Core Python, triển khai Python tiêu chuẩn

Hệ sinh thái rộng lớn gồm các công cụ như NumPy và các khung như PyTorch hỗ trợ các quy trình phân tích dữ liệu và xử lý số liệu có thể được ghi nhận cho sự phổ biến của Python; . Python là một ngôn ngữ được giải thích, trái ngược với C và C++, là các ngôn ngữ được biên dịch. Để diễn giải mã Python, CPython sử dụng ngôn ngữ lập trình C

Ngoài ra, lương đóng băng và trở lại làm việc?

Để cung cấp các cải tiến hiệu suất thông qua CPython, Microsoft đã thuê một nhóm gồm sáu kỹ sư, bao gồm cả Van Rossum, và hiện đã giải thích cách họ thấy những khoản đầu tư đó chuyển thành lợi ích cho CPython, những người đóng góp chủ yếu là tình nguyện viên — điển hình là các kỹ sư lành nghề có công việc khác .  

Microsoft nêu bật công việc của các nhân viên Brandt Bucher, Eric Snow, L Pereira, Irit Katriel, Michael Droettboom và tất cả những người này đã đóng góp vào các cải tiến hiệu suất cho Python 3. 10 và 3. 11, mà theo Microsoft đã thấy tốc độ tăng từ 10% đến 60% ở một số khu vực liên quan đến ngôn ngữ

Trong khi Atrial triển khai các nhóm Ngoại lệ mới và các tính năng ngoại trừ* trong 3. 11, Snow đang làm phiên dịch viên phụ. Bucher đã đóng góp vào sự phát triển của mô hình cấu trúc phù hợp

Do lập trường trước đây đối với Linux và nguồn mở, Microsoft tỏ ra thận trọng trong việc xoa dịu mọi nghi ngờ rằng họ có chương trình nghị sự cho Python. Cũng có thể là do nó nhận thức được sự hoài nghi của các nhà phát triển.

Droettboom đặt câu hỏi: "Làm cách nào để chúng tôi đảm bảo rằng cộng đồng Python của chúng tôi là hữu ích, không thúc đẩy một chương trình nghị sự hay bất kỳ điều gì trong số đó?"

"Bởi vì những gì chúng tôi đang làm có một chút rủi ro; có thể đã có nhiều lỗi hơn và những hậu quả không lường trước được vì chúng tôi đang thay đổi cách thức hoạt động của các bộ phận cốt lõi. "Để duy trì các tiêu chuẩn cao, điều quan trọng là nhóm hỗ trợ cộng đồng

Ngoài ra, ngày càng khó tìm nhân viên công nghệ. Nhưng có một cách khác để có được những khả năng cần thiết

Mặc dù giờ đây công ty đã chấp nhận nguồn mở một cách có ý thức hơn khi Azure và Microsoft 365 được gắn chặt hơn với đám mây, nhưng các câu hỏi về ý định nguồn mở của Microsoft vẫn tồn tại

Katriel tuyên bố rằng làm việc với Van Rossum và được Microsoft tuyển dụng đã cho phép cô ấy tập trung vào hiệu suất;

"Việc tham gia nhóm Faster CPython đã thay đổi sự tập trung của tôi vào hiệu suất, nhưng có sự liên tục ở chỗ tôi đã thực hiện một số công việc về hiệu suất ngoại lệ,"Trong một dự án khác, tôi đã làm cho trình biên dịch phát ra mã của các khối except trong một khu vực riêng biệt, để chúng . Bằng cách đơn giản hóa biểu diễn bên trong của trình thông dịch về các ngoại lệ đã nêu, tôi đã giảm khoảng 10% thời gian cần thiết để đưa ra và bắt một ngoại lệ," cô nói.      

Van Rossum thích giải quyết những thay đổi nhỏ sau hội nghị hai năm một lần hơn là sự nhất quán khi làm việc theo nhóm một cách thường xuyên

Thứ Hai hàng tuần, sáu người chúng tôi gặp nhau và Van Rossum nói rằng luôn có quá nhiều điều để nói. Tất nhiên, đó là một sự kiện rất đặc biệt, nhưng nó không nuôi sống tôi suốt cả năm, không giống như cộng đồng nhà phát triển cốt lõi gặp nhau trong Sprint hai lần một năm, chẳng hạn như một ngày sau hội nghị. "

Theo Van Ross, nhóm có "thế mạnh" bởi vì mọi người "biết mọi người có điểm mạnh và điểm yếu của mọi người" do sự hiểu biết lẫn nhau và cộng tác làm việc của họ.

Có một số nhà phát triển cốt lõi làm việc trên những thứ giống nhau trong CPython trong công ty, khả năng tiếp cận tốt hơn một chút. mức độ hợp tác vững chắc hơn một chút," Snow, người đã từng là nhà phát triển cốt lõi trong hơn một thập kỷ cho biết. "

Python được cho là ngôn ngữ lập trình phổ biến nhất thế giới nhờ học máy, nhưng điểm yếu lớn nhất của nó là hiệu suất. nó cần phần cứng cao cấp, thường dựa vào card đồ họa, không chạy trên trình duyệt, như JavaScript và hầu như không có câu chuyện nào trên thiết bị di động.  

Trong vài năm qua, Microsoft đã đóng góp cho Faster Python, một dự án do người sáng tạo Python, Guido van Rossum, khởi xướng vào năm 2021, ngay sau khi Microsoft thuê anh ấy làm một kỹ sư xuất sắc, thay đổi kế hoạch nghỉ hưu trước đó của anh ấy.  

Người tạo ra Python muốn ngôn ngữ này nhanh nhẹn hơn so với gã khổng lồ ì ạch. Van Rossum muốn nó nhanh gấp đôi nhưng Mark Shannon, một trong những người đóng góp chính cho CPython [hoặc Core Python], đã viết một kế hoạch triển khai vào năm 2020 để tăng tốc CPython lên gấp 5 lần. Core Python là triển khai tham chiếu của Python mà các biến thể khác dựa trên, như Anaconda tập trung vào khoa học dữ liệu.  

Sự phổ biến của Python có thể là do hệ sinh thái rộng lớn gồm các gói, như NumPy và các khung, như PyTorch, hỗ trợ các quy trình phân tích dữ liệu và xử lý số, nhưng những gói đó, theo ghi chú của Microsoft, chủ yếu được viết bằng C. Python là ngôn ngữ được giải thích so với C và C ++, là ngôn ngữ được biên dịch. Như vậy, CPython dựa vào C để diễn giải mã Python.        

Cũng thế. Đóng băng tiền lương và trở lại văn phòng?

Microsoft đã thuê một nhóm sáu kỹ sư cùng với Van Rossum để cung cấp các cải tiến về hiệu suất thông qua CPython. Giờ đây, nó đã trình bày chi tiết cách nó thấy những khoản đầu tư đó chuyển thành lợi ích cho CPython, những người đóng góp chủ yếu là tình nguyện viên — điển hình là các kỹ sư lành nghề có công việc khác — nhưng hiện được hưởng lợi từ việc thuê Python của Mictosoft.  

Microsoft giới thiệu công việc của các nhân viên Eric Snow, L Pereira, Irit Katriel, Michael Droettboom và Brandt Bucher, những người đã giúp mang lại những cải tiến về hiệu suất trên Python 3. 10 và 3. 11, mà Microsoft tuyên bố đã tăng tốc từ 10% đến 60% ở một số khu vực của ngôn ngữ.  

Snow đang làm việc trên các trình thông dịch phụ, trong khi Atrial đã triển khai các nhóm Ngoại lệ mới và các tính năng ngoại trừ* trong 3. 11. Bucher đã giúp tạo ra sự khớp mẫu cấu trúc.  

Microsoft có vẻ thận trọng để tránh nhận thức rằng họ có một chương trình nghị sự dành cho Python và có lẽ nhận thức được sự hoài nghi của các nhà phát triển do thái độ trước đây của họ đối với Linux và nguồn mở

Droettboom nói: “Làm cách nào để chúng tôi đảm bảo rằng chúng tôi đang thể hiện với cộng đồng Python là hữu ích, không thúc đẩy một chương trình nghị sự hay bất kỳ điều gì trong số đó”.  

"Bởi vì những gì chúng tôi đang làm là loại rủi ro. Có thể tần suất xảy ra các hậu quả và lỗi ngoài ý muốn cao hơn do chúng tôi đang thay đổi cách thức hoạt động của lõi. Điều thực sự quan trọng là nhóm hỗ trợ cộng đồng để duy trì chất lượng. "

Cũng thế. Tuyển nhân viên công nghệ ngày càng khó. Nhưng có một cách khác để có được những kỹ năng phù hợp

Các câu hỏi vẫn được đặt ra về động cơ của Microsoft đối với nguồn mở, nhưng giờ đây công ty đã chấp nhận nó một cách có mục đích hơn khi Azure và Microsoft 365 và được liên kết chặt chẽ hơn với đám mây

Snow dường như dành 20% thời gian của mình tại Microsoft để làm việc trên CPython. Katriel cho biết cô có thể tập trung vào hiệu suất nhờ Microsoft đã thuê cô và làm việc với Van Rossum

"Tham gia nhóm Faster CPython đã thay đổi sự tập trung của tôi vào hiệu suất. Theo nghĩa đó, trọng tâm của tôi đã thay đổi, nhưng có sự liên tục trong đó tôi đã thực hiện một số công việc về hiệu suất của các trường hợp ngoại lệ. Bằng cách đơn giản hóa biểu diễn bên trong của trình thông dịch về các ngoại lệ đã nêu, tôi đã giảm khoảng 10% thời gian cần thiết để đưa ra và bắt một ngoại lệ. Trong một dự án khác, tôi đã làm cho trình biên dịch phát ra mã của các khối ngoại trừ trong một khu vực riêng biệt, để chúng không cần phải nhảy qua trong trường hợp không có ngoại lệ nào được đưa ra," cô nói.      

Van Rossum cũng thích sự nhất quán khi làm việc theo nhóm một cách thường xuyên hơn là đối phó với những thay đổi lớn sau hội nghị hai năm một lần.  

Van Rossum nói: “Cả sáu chúng tôi gặp nhau vào thứ Hai hàng tuần. "Luôn luôn có quá đủ để nói về. Điều đó rất khác so với việc cộng đồng nhà phát triển cốt lõi cùng nhau tham gia Sprint hai lần một năm, chẳng hạn như một ngày sau hội nghị. Đó là một sự kiện rất đặc biệt, tất nhiên, nhưng nó không nuôi sống tôi suốt cả năm. "

Van Rossum tin rằng sự hiểu biết về nhau và công việc hợp tác của họ sẽ mang lại cho nhóm một sự "thúc đẩy" vì mọi người "biết mọi người có phong cách giao tiếp nào cũng như điểm yếu và điểm mạnh của mọi người là gì. "

"Với tư cách là một nhóm [nhà phát triển Python] cốt lõi trong toàn bộ cộng đồng, chúng tôi cộng tác khá tốt," Snow nói. Anh ấy là nhà phát triển cốt lõi trong hơn một thập kỷ và "có một số nhà phát triển cốt lõi làm việc trên cùng một nội dung trong CPython trong công ty, khả năng tiếp cận tốt hơn một chút...mức độ cộng tác vững chắc hơn một chút. "

Microsoft có đang đóng góp cho Python nhanh hơn không?

Trong vài năm qua, Microsoft đã đóng góp cho Faster Python, một dự án do người sáng tạo Python, Guido van Rossum, khởi xướng vào năm 2021, ngay sau khi Microsoft thuê anh ấy làm kỹ sư xuất sắc, thay đổi kế hoạch nghỉ hưu trước đây của anh ấy. Người tạo ra Python muốn ngôn ngữ này nhanh nhẹn hơn so với gã khổng lồ ì ạch

Tại sao Python lại phổ biến như vậy?

Sự phổ biến của Python có thể là do hệ sinh thái rộng lớn của các gói, như NumPy và các khung, như PyTorch, giúp xử lý phân tích dữ liệu và xử lý số, nhưng những gói đó, như Microsoft lưu ý, được viết chủ yếu bằng C. Python là ngôn ngữ được giải thích so với C và C ++, là ngôn ngữ được biên dịch

Python DEVS hợp tác tốt như thế nào?

"Với tư cách là một nhóm [nhà phát triển Python] cốt lõi trong toàn bộ cộng đồng, chúng tôi cộng tác khá tốt," Snow nói. Anh ấy là nhà phát triển cốt lõi trong hơn một thập kỷ và "có một số nhà phát triển cốt lõi làm việc trên cùng một nội dung trong CPython trong công ty, khả năng tiếp cận tốt hơn một chút...mức độ cộng tác vững chắc hơn một chút. "

Việc tham gia nhóm CPython nhanh hơn có thay đổi sự tập trung của bạn vào hiệu suất không?

"Tham gia nhóm Faster CPython đã thay đổi sự tập trung của tôi vào hiệu suất. Theo nghĩa đó, trọng tâm của tôi đã thay đổi, nhưng có sự liên tục trong đó tôi đã thực hiện một số công việc về hiệu suất của các trường hợp ngoại lệ. Bằng cách đơn giản hóa biểu diễn bên trong của trình thông dịch về các ngoại lệ đã nêu, tôi đã giảm khoảng 10% thời gian cần thiết để đưa ra và bắt một ngoại lệ. trong ano

Các nhà phát triển tại Microsoft sử dụng ngôn ngữ nào?

C++. C++ là ngôn ngữ chính tại Microsoft, sử dụng C++ để xây dựng nhiều ứng dụng cốt lõi của mình. C ++ được sử dụng để tạo các chương trình máy tính và là một trong những ngôn ngữ được sử dụng nhiều nhất trong phát triển trò chơi.

Tại sao Python là ngôn ngữ lập trình phát triển nhanh nhất?

Việc đọc và viết chương trình Python dễ dàng hơn nhiều so với các ngôn ngữ khác như. C++, Java, C# . Python làm cho việc lập trình trở nên thú vị và cho phép bạn tập trung vào giải pháp thay vì cú pháp.

Python có phải do Microsoft phát triển không?

Python Tools dành cho Visual Studio là một tiện ích mở rộng hoàn toàn miễn phí, do Microsoft phát triển và hỗ trợ với sự đóng góp của cộng đồng.

Python hữu ích như thế nào đối với các nhà phát triển?

Python là ngôn ngữ lập trình máy tính thường được sử dụng để xây dựng trang web và phần mềm, tự động hóa tác vụ và tiến hành phân tích dữ liệu . Python là ngôn ngữ có mục đích chung, có nghĩa là nó có thể được sử dụng để tạo nhiều chương trình khác nhau và không chuyên biệt cho bất kỳ vấn đề cụ thể nào.

Chủ Đề