PHP gør klar til fremtiden: Baner vej for just-in-time-compiler

Illustration:
Udviklingen af fremtidsprojektet ’PHP Next Generation’ er gået i gang, og intet er helligt for at få sat tempoet op – heller ikke at udstyre PHP med en just-in-time-compiler.

Rigtig mange store og små webprojekter er kodet i PHP, inklusive Facebook, som dog efterhånden oplevede PHP som en flaskehals for højere hastigheder. Men i stedet for at migrere til noget helt andet, valgte Facebook at bygge videre på PHP og fik drønet farten gevaldigt op.

Læs også: PHP-oversætter giver igen Facebook voldsomme performance-forbedringer

De resultater har PHP-folkene nu ladet sig inspirere af i et nyt projekt, der skal give et bud på fremtiden for PHP. I stedet for at udvikle sproget bid for bid, vil ’PHP Next Generation’ forsøge sig med markante ændringer, som så måske kan danne grundlag for PHP version 6 eller 7, når den nuværende version 5.5 når så langt. Det skriver PCworld.com.

Projektet, der også bliver forkortet til phpng, vil rydde op i API’erne i PHP, så det bliver muligt at indføre just-in-time-kompilering ligesom i Facebooks projekt Hiphop. Next generation-projektet omfatter dog ikke i sig selv sådan en compiler, men vil bane vejen for muligheden, skriver udviklerne i en melding på PHP.net.

I dag bliver PHP generelt ikke kompileret til maskinkode på forhånd, men der er store hastighedsforbedringer i vente ved at gøre det muligt at kompilere PHP-kode, efterhånden som brugerne har brug for det – deraf navnet just-in-time-kompilering.

Men selvom udviklerne bag lover, at PHP Next Generation skal være bagudkompatibelt med al den nuværende PHP-kode på nettet i dag, kan det stadig give problemer at ændre på API’erne. Mange udvidelser vil nemlig blive ramt og skal kodes om, hvis de skal fungere efter så grundlæggende ændringer i sproget.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (8)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Janus Knudsen

Jeg har altså svært ved at se hvordan PHP kan anvendes til andet end mindre løsninger hvor krav til backendprocessering ikke er særlig høj. Måske jeg tager fejl, men et scriptingsprog imho har begrænset anvendelse og performance.

At der nu kommer en JIT-compiler er skønt for alle PHP-kodere, men hurtigt bliver det vel aldrig...eller hvad?

  • 4
  • 3
Lars Tørnes Hansen

de burde tage springet ligesom python udviklerne har gjort det - lave en ny inkompatiel version af sproget, hvor man retter alle uhensigtsmæssigheder fra den tidligere version.

Skift fra gammel php til nyere phpng ville så godt være inkombatiel og skiftet ville nok tage en del tid, men man kan potentielt komme til at få en mere effektiv phpng end i forhold til at være API kombatibel med php.

  • 0
  • 0
Sune Marcher

de burde tage springet ligesom python udviklerne har gjort det - lave en ny inkompatiel version af sproget, hvor man retter alle uhensigtsmæssigheder fra den tidligere version.

Skift fra gammel php til nyere phpng ville så godt være inkombatiel og skiftet ville nok tage en del tid, men man kan potentielt komme til at få en mere effektiv phpng end i forhold til at være API kombatibel med php.


Men hvor er eksistensberettigelsen for sådan et projekt?

PHP er ikke et specielt godt sprog, og både sprog samt standard library er fyldt med horrible quirks... hvis man er villig til at bryde bagudkompatibilitet, så kan man lige så godt flytte til et andet og mere egnet sprog.

Netop bagudkompatibiliteten (samt at det er tilgængeligt på selv de billigste shared servers) er PHPs force. Hvis du smider dét væk, er der IMHO ikke nogen grund til ikke at bruge et andet sprog i stedet.

(Beklager hvis der er PHP-programmører der føler sig stødt over ovenstående - selvom jeg synes sprog+stdlib er noget forfærdeligt klyt, har det legitime anvendelsesmuligheder, og dygtige folk kan lave fornuftige løsninger i PHP.)

  • 2
  • 0
Lars Tørnes Hansen

Men hvor er eksistensberettigelsen for sådan et projekt?


Det ville lave det hurtigere, ikk'?

Hvis man i phpng mest holder sig til oprydning i APIet, og at resten af APIet ligner det fra PHP, så er skiftet muligvis ikke så stort, særligt hvis de holder sig til at der kun i mindre grad ryddes op i selve sproget.

Der er muligvis nok flere der vil blive i phpng end at skifte sprog, fordi det kunne blive meget mere forskelligt, end et skifte fra PHP til phpng.

Netop bagudkompatibiliteten (samt at det er tilgængeligt på selv de billigste shared servers) er PHPs force. Hvis du smider dét væk, er der IMHO ikke nogen grund til ikke at bruge et andet sprog i stedet.


Det kunne være et spørgsmål om at nok folk vil bruge det og at der er nogle der vil tilbyde phpng i deres webhosting og begynde snuppe nogle af konkurrenternes kunder.
Hvis det sker, så bliver konkurrenterne også nødt til at tilbyde phpng i deres webhosting før de mister alt for mange kunder.

  • 0
  • 0
Peter Lind

Jeg har altså svært ved at se hvordan PHP kan anvendes til andet end mindre løsninger hvor krav til backendprocessering ikke er særlig høj. Måske jeg tager fejl, men et scriptingsprog imho har begrænset anvendelse og performance.


Ja, du tager fejl.

At der nu kommer en JIT-compiler er skønt for alle PHP-kodere, men hurtigt bliver det vel aldrig...eller hvad?

Det er irrelevant. Spørgsmålet er om det lader dig løse dine problemer på en måde du er glad for.

At Java kan være meget hurtigere end php er mig 100% ligegyldigt - det løser ikke mine problemer på en måde jeg kan bruge til noget.

Og ja, det er en subjektiv synsvinkel. Der er ikke andre.

  • 0
  • 0
Log ind eller Opret konto for at kommentere