Pyston 2 Python- ის განხორციელება JIT შემდგენელით

სამწლიანი პაუზის შემდეგ განვითარებაში, გამოქვეყნდა Pyston 2 პროექტის დაწყება, რა განვავითარეPython ენის მაღალპროფესიული დანერგვისთვის LLVM პროექტის განვითარებული მოვლენების გამოყენებით.

Იმპლემენტაცია გამოირჩევა JIT შედგენის თანამედროვე ტექნოლოგიების გამოყენებით და მიზნად ისახავს მაღალი შესრულების მიღწევას, მსგავსი სისტემის ტრადიციული ენებისა, როგორიცაა C ++.

კოდი წინა ვერსიებიდან პისტონის მიერ გადაეცა Apache ლიცენზიით, მაგრამ Pyston 2 კოდი ჯერ არ არის ხელმისაწვდომი და გამოდის მხოლოდ მზა გამონათქვამები Ubuntu 18.04 და 20.04 ვერსიებისთვის (კოდის მქონე ფაილი ხელმისაწვდომია ჩამოსატვირთად, მაგრამ არსებობს მხოლოდ სტატიები ინფორმაციით, რომ პროექტი კვლავ დახურულია).

კოდის გამოქვეყნება დეველოპერების გეგმების ნაწილიამაგრამ ეს გაკეთდება ბიზნესის მოდელის ფორმირების დასრულების შემდეგ ახალი კომპანიის შესახებ და გადაწყდა Pyston- ის განვითარების გაგრძელება Dropbox– ის ფინანსური მხარდაჭერის გარეშე.

Pyston 2-ის შესახებ

წინა ვერსიებისგან განსხვავებით, Pyston 2 აღინიშნება სტაბილურად და არა როგორც საცდელი ვერსია. დიდი სამუშაო გაკეთდა შესრულების ოპტიმიზაციის მიზნით და Pyston 2 არის უფრო სწრაფი ვიდრე Python 3.8– ის დაახლოებით 20% –ით python-macrobenchmarks ტესტის პაიტის გავლისას.

შესრულების ყველაზე მნიშვნელოვანი მიღწევები ჩანს ვებ – პროგრამების თანდაყოლილი დატვირთვით. ცალკეულ ტესტებში, როგორიცაა 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. ამის გაკეთება თქვენი პროექტის დაჩქარების ერთ-ერთი მარტივი გზაა.

თავსებადობის თვალსაზრისით მშობლიურ პითონთან, პისტონის პროექტით რეკლამირებულია, როგორც CPython- ის ყველაზე თავსებადი ალტერნატიული განხორციელება, ვინაიდან Pyston არის მთავარი CPython კოდების ბაზრის ჩანგალი.

პისტონი მხარს უჭერს CPython- ის ყველა ფუნქციას, მათ შორის C API C გაფართოებების შესაქმნელად. Pyston თავდაპირველად შეიმუშავა Dropbox– მა, რომელმაც 2017 წელს გადაწყვიტა შეწყვიტოს შიდა განვითარება. 2020 წლის დასაწყისში Pyston- ის მთავარმა დეველოპერებმა დააარსეს თავიანთი კომპანია, მთლიანად გამოიგონეს პროექტი და დაიწყეს მუშაობა Pyston- ში სრულ განაკვეთზე.

ტექნიკური დეტალები Pyston 2 შევსების შესახებ ჯერ არ არის მოწოდებული, მხოლოდ DynASM JIT, inline caching და ზოგადი CPython ოპტიმიზაციებია ნახსენები. Pyston- ის წინა ვერსიაში გამოიყენებოდა ერთჯერადი JIT მეთოდი, მსგავსი JIT თანამედროვე JavaScript ძრავებში.

JIT– ში Python კოდის ანალიზი და თარგმნა მოხდა შუალედურ წარმომადგენლობაზე LLVM (IR, შუალედური წარმომადგენლობა). გარდა ამისა, IR წარმოდგენა დამუშავდა LLVM ოპტიმიზატორში და გადაეცა LLVM JIT ძრავას შესასრულებლად, რამაც IR წარმომადგენლობა გადააქცია მანქანაში.

დინამიური პითონის ენაზე პროგრამებისთვის ცვლადების ტიპების შესახებ ინფორმაციის მისაღებად გამოიყენეს ობიექტის ტიპების ალბათური პროგნოზირების ტექნიკა, რასაც მოჰყვა შესრულების დროს ტიპის სწორი არჩევანის დაზუსტება.

ამიტომ, Pyston მუდმივად იცვლებოდა შესრულებას ორ განშტოებას შორის: სწრაფი, როდესაც დადასტურდება პროგნოზირებული სიჩქარე და ნელი, რომელიც გამოიყენება ტიპის შეუსაბამობის შემთხვევაში.

სამუშაოს შესრულება შესაძლებელია მრავალ თემატურ რეჟიმში, პითონის ენაზე რამდენიმე კოდის ძაფის პარალელურად შესრულების და გლობალური თარჯიმნის დაბლოკვის (GIL) გარეშე.

საბოლოოდ თუ ამის შესახებ მეტი გსურთ, დეტალების შემოწმება შეგიძლიათ აქ შემდეგი ბმული.


სტატიის შინაარსი იცავს ჩვენს პრინციპებს სარედაქციო ეთიკა. შეცდომის შესატყობინებლად დააჭირეთ ღილაკს აქ.

იყავი პირველი კომენტარი

დატოვე კომენტარი

თქვენი ელფოსტის მისამართი გამოქვეყნებული არ იყო.

*

*

  1. მონაცემებზე პასუხისმგებელი: მიგელ ანგელ გატონი
  2. მონაცემთა მიზანი: სპამის კონტროლი, კომენტარების მართვა.
  3. ლეგიტიმაცია: თქვენი თანხმობა
  4. მონაცემთა კომუნიკაცია: მონაცემები არ გადაეცემა მესამე პირებს, გარდა სამართლებრივი ვალდებულებისა.
  5. მონაცემთა შენახვა: მონაცემთა ბაზა, რომელსაც უმასპინძლა Occentus Networks (EU)
  6. უფლებები: ნებისმიერ დროს შეგიძლიათ შეზღუდოთ, აღადგინოთ და წაშალოთ თქვენი ინფორმაცია.