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.