2009-07-13 22 views
16

Tôi đã chắc chắn rằng nó đã không, nhưng tìm kiếm một câu trả lời rõ ràng trên Interwebs khiến tôi nghi ngờ. Ví dụ, tôi có một số 2008 post trông giống như một trò đùa ngay từ cái nhìn đầu tiên nhưng có vẻ nghiêm trọng khi nhìn gần hơn.Jython có GIL không?

Edit: ... và bật ra được một trò đùa sau khi nhìn gần gũi hơn. Xin lỗi vì sự nhầm lẫn. Trên thực tế các ý kiến ​​trên bài viết đó trả lời câu hỏi của tôi, như Nikhil đã chỉ ra một cách chính xác.

Chúng tôi nhận thấy rằng CPython vượt xa chúng tôi trong lĩnh vực này và chúng tôi thiếu khả năng tương thích. Sau khi động não nghiêm túc (và một vài ly rượu vang), chúng tôi quyết định giới thiệu Khóa thông dịch toàn cầu ở Jython sẽ giải quyết toàn bộ vấn đề!

Bây giờ, trạng thái ở đây là gì? "differences" page on sourceforge không đề cập đến GIL. Có bất kỳ nguồn chính thức nào mà tôi đã bỏ qua không?

Cũng lưu ý rằng tôi biết về cuộc thảo luận đang diễn ra cho dù GIL có quan trọng chút nào hay không, nhưng tôi không quan tâm đến điều đó cho thời điểm này.

+0

Dường như tôi không quen với sự hài hước Pythonic được nêu ra. Tôi mất một thời gian để có được những gì đang diễn ra trong bài đăng mà tôi trích dẫn. Cảm ơn bạn đã gợi ý của bạn. –

Trả lời

20

Không, nó không. Đó là một phần của việc triển khai VM, không phải ngôn ngữ.

Xem thêm:

from __future__ import braces 
+5

+1. Ngoài ra, bài đăng năm 2008 đó chỉ là một trò đùa ... xem nhận xét. –

3

Cả JythonIronPython "thiếu" những GIL, bởi vì nó là một chi tiết thi hành VM nằm bên dưới. Có rất nhiều thông tin tôi đã tìm thấy cách đây không lâu, bây giờ điều duy nhất tôi có thể tìm ra với is this.

Hãy nhớ rằng GIL chỉ là sự cố trên môi trường đa bộ vi xử lý và rằng it's unlikely to go away in the foreseable future từ CPython.

-1

Google đang thực hiện triển khai Python là một cpython đã sửa đổi với các cải tiến hiệu suất được gọi là nuốt không được nuốt. Điều này sẽ giúp loại bỏ GIL. Xem: Unladen Swallow

+0

Dường như họ không xóa nó sau khi tất cả. Cách tiếp cận họ thực hiện (để loại bỏ GIL) hóa ra là quá ngây thơ, vì vậy họ đã bỏ ý tưởng đó và thay vào đó tập trung vào việc tăng tốc trên lõi đơn. Xem bài nói chuyện này [1] [1] http://pycon.blip.tv/file/3261170/ – konryd

+0

Việc chọn LLVM của Unladen hóa ra không làm tăng tốc độ ngôn ngữ động như Python đủ. Ngay bây giờ PyPy nhanh hơn nhiều, nhưng cũng vẫn có GIL do thiếu người thu gom rác lại: http://doc.pypy.org/en/latest/faq.html#does-pypy-have-a-gil -tại sao –

23

Các quote bạn tìm thấy là thực sự là một trò đùa, đây là một bản demo thực hiện Jython của của GIL:

Jython 2.5.0 (trunk:6550M, Jul 20 2009, 08:40:15) 
[Java HotSpot(TM) Client VM (Apple Inc.)] on java1.5.0_19 
Type "help", "copyright", "credits" or "license" for more information. 
>>> from __future__ import GIL 
    File "<stdin>", line 1 
SyntaxError: Never going to happen! 
>>> 
Các vấn đề liên quan