Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Dropbox bouwt Python-implementatie met snelle jit-compiler

Een aantal Dropbox-ontwikkelaars werkt aan een nieuwe Python-implementatie die de programmeertaal net zo goed moet laten presteren als code die in bijvoorbeeld C++ is geschreven. Daarvoor wordt bij het zogeheten Pyston gebruikgemaakt van een just-in-time-compiler.

De Dropbox-developers stellen dat Python in vrijwel alle gevallen de voorkeur krijgt, maar dat de programmeertaal in de praktijk tegen zijn grenzen aanloopt als software opgeschaald moet worden. Vooral de prestaties zouden in die situatie te laag zijn, waardoor code beter kan worden geschreven in een andere programmeertaal, zoals het snellere C++.

In een poging Python sneller te maken is het Dropbox-team de just-in-time-compilers gaan bekijken die in de afgelopen jaren verantwoordelijk waren voor forse prestatiewinsten in de JavaScript-verwerking van moderne browsers. Hoewel er al enkele Python-implementaties bestaan op basis van just-in-time-compilers, willen de Dropbox-developers in het Pyston-project gebruikmaken van method-at-a-time jit-compilers. Deze zouden nog aanzienlijk beter presteren dan oudere jit-implementaties. Verder wordt er gekeken naar een andere methode voor garbage collection.

Om het wiel niet geheel opnieuw uit te vinden maakt het Pyston-team gebruik van onderdelen van het llvm-project waarin diverse opensource-compilermodules zijn opgenomen. Verder is Pyston onder andere verantwoordelijk voor het voorspellen van het type object, een mechanisme dat bekendstaat als type speculation. Ook de technieken inline caches en fast attribute lookups worden toegepast.

Pyston is nog verre van compleet en de ontwikkelaars denken dat de bouw nog enige tijd zal duren. Ook voor het testen van de snelheid met behulp van benchmarks zou het nog te vroeg zijn. De code is echter beschikbaar gemaakt op GitHub, waarbij Dropbox hoopt dat meer developers gaan helpen bij de ontwikkeling.

Door Dimitri Reijerman

Redacteur

04-04-2014 • 16:25

32 Linkedin Google+

Submitter: Kalua

Reacties (32)

Wijzig sortering
Ik hou van Dropbox
Duidelijk nog niet veel gedaan in python...
Enorm zwaktebod deze uitspraak. Elke programmeertaal heeft zijn voor en nadelen. Voor quick prototyping/scripting ga ik echt geen compiler uit de kast trekken. Maar toen ik een jaar of 15 geleden in aanraking kwam met python was het al een briljante taal.

Vergelijk het anders met besturingssystemen of een mobiele telefoon, mijn oma ga ik bijvoorbeeld echt geen Linux of iPhone voorschotelen. Ik ga hier toch ook niet zeggen dat een iPhone niet het beste is wat je kunt krijgen?

(Of android :) Mijn oma heeft in ieder geval een "bejaardentelefoon" met gigantische knoppen en ze vind het geweldig!)
Definieer "beste taal" :-)

Op dit item kan niet meer gereageerd worden.


Call of Duty: Black Ops 4 HTC U12+ dual sim LG W7 Google Pixel 3 XL OnePlus 6 Battlefield V Samsung Galaxy S9 Dual Sim Google Pixel 3

Tweakers vormt samen met Tweakers Elect, Hardware.Info, Autotrack, Nationale Vacaturebank en Intermediair de Persgroep Online Services B.V.
Alle rechten voorbehouden © 1998 - 2018 Hosting door True