De Devschuur Coffee Corner - Iteratie ⑬ Vorige deel Overzicht

Pagina: 1 ... 57 58 Laatste
Acties:

  • hackerhater
  • Registratie: April 2006
  • Laatst online: 17:59
ThomasG schreef op vrijdag 30 oktober 2026 @ 17:30:
[...]

Sorry, maar volgens mij snap je het niet. Er is geen enkele reden waarom dit niet zou kunnen in Rust. Waarom zou je in Rust niet dynamisch objecten aan kunnen maken? 8)7
Het punt is dat PHP zo dynamisch als de pest is. Er is geen enkel manier voor de runtime om te voorspellen wat het programma gaat doen tot het moment van uitvoeren.
In PHP kan je alles in het geheugen opbouwen als je wilt. Inclusief dynamisch programma calls opbouwen.......
Als de server je het toestaat (set memory limit) kan je meerdere GB in het geheugen laden.
In principe heeft PHP maar 2 instelbare limieten: geheugen en max uitvoertijd.
En tenzij de server het blokt, kan het programma die ook nog dynamisch on the fly wijzigen. Good luck om dat om te zetten in een statische taal met vaste geheugen blokken.

En op het moment dat dus een van die 2 limieten bereikt wordt, of het programma iets doet dat niet geaccepteerd wordt, wordt het programma hard afgeknalt en gaat de foutafhandeling lopen. Ongeacht waar het ergens is.
Wat er op de stack staat, welke I/O op dat moment open staat (moet netjes opgeruimd worden), etc.

[ Voor 17% gewijzigd door hackerhater op 30-10-2026 17:44 ]


  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 22:24
hackerhater schreef op vrijdag 30 oktober 2026 @ 17:40:
[...]

Het punt is dat PHP zo dynamisch als de pest is. Er is geen enkel manier voor de runtime om te voorspellen wat het programma gaat doen tot het moment van uitvoeren.
In PHP kan je alles in het geheugen opbouwen als je wilt. Inclusief dynamisch programma calls opbouwen.......
Als de server je het toestaat (set memory limit) kan je meerdere GB in het geheugen laden.
In principe heeft PHP maar 2 instelbare limieten: geheugen en max uitvoertijd.
En tenzij de server het blokt, kan het programma die ook nog dynamisch on the fly wijzigen. Good luck om dat om te zetten in een statische taal met vaste geheugen blokken.
Dat maakt toch helemaal niet uit? In Rust schrijf je een PHP-interpreter. Als het dan PHP-code tegen komt om een variabele, object, etc aan te maken dan wordt de Rust code uitgevoerd dat dat doet. De lifetime daarvan is gewoon bekend: uiterlijk totdat de interpreter klaar is met het uitvoeren van het PHP-script. Er is geen enkele reden waarom je geen PHP-interpreter kunt bouwen in Rust.

  • hackerhater
  • Registratie: April 2006
  • Laatst online: 17:59
ThomasG schreef op vrijdag 30 oktober 2026 @ 17:46:
[...]

Dat maakt toch helemaal niet uit? In Rust schrijf je een PHP-interpreter. Als het dan PHP-code tegen komt om een variabele, object, etc aan te maken dan wordt de Rust code uitgevoerd dat dat doet. De lifetime daarvan is gewoon bekend: uiterlijk totdat de interpreter klaar is met het uitvoeren van het PHP-script. Er is geen enkele reden waarom je geen PHP-interpreter kunt bouwen in Rust.
Tenzij je de boel allemaal op de heap gooit, moet je toch weten hoe groot het geheugen blok moet zijn?
En alles op de heap gooien geeft weer andere problemen dat die overspoelt met de grote hoeveelheden users php-fpm standaard kan verwerken.

Dat is de hele issue. Ik neem tenminste aan dat je niet voorstelt dat een heel PHP programma van de webserver in 1 geheugenblok wordt gegooid a la een VM.
Er bestaan geen verschillende grote types in PHP. Je hebt floats, doubles, strings, ints en objects, thats it.
Een string kan dus 2 tekens zijn of 2 biljoen. No way of knowing.

Het interperteren/compileren van de PHP-code is de issue niet. Dat zou prima met rust kunnen. Het uitvoeren daaraantegen......

[ Voor 6% gewijzigd door hackerhater op 30-10-2026 17:59 ]


  • Kalentum
  • Registratie: Juni 2004
  • Laatst online: 22:34
Ik moest laatst een rust programma compileren op een shared hosting account uit 2008 waar alleen PHP was

Kan gewoon

https://github.com/mrconter1/rustc-php

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 21:08

.oisyn

Moderator Devschuur®

Demotivational Speaker

hackerhater schreef op vrijdag 30 oktober 2026 @ 17:58:
[...]

Tenzij je de boel allemaal op de heap gooit
Denk je dat PHP dat niet doet?
En alles op de heap gooien geeft weer andere problemen dat die overspoelt met de grote hoeveelheden users php-fpm standaard kan verwerken.
Ik kan deze zin niet genoeg parsen om te begrijpen wat je nou precies bedoelt.
Er bestaan geen verschillende grote types in PHP. Je hebt floats, doubles, strings, ints en objects, thats it.
Het punt ontgaat me
Een string kan dus 2 tekens zijn of 2 biljoen. No way of knowing.
Je denkt dat Rust geen dynamische strings ondersteunt?
Het interperteren/compileren van de PHP-code is de issue niet. Dat zou prima met rust kunnen. Het uitvoeren daaraantegen......
Hoe definieer jij het verschil tussen interpreteren en uitvoeren? Of is "interpreteren" hier wat anders dan een interpreter doet?

.edit: heb je eigenlijk ooit weleens een regel Rust geschreven? Ik krijg namelijk sterk het vermoeden dat je eigenlijk niet zo goed weet hoe dat werkt. Het verschilt namelijk helemaal niet zoveel van andere systeemtalen zoals C en C++, behalve dan dat je te maken hebt met een compile time borrowchecker die een xor aliasing model afdwingt (als je een schrijfbare pointer hebt, dan heeft niemand anders een pointer naar hetzelfde object, en als je een read only pointer hebt, dan heeft niemand een schrijfbare pointer).

[ Voor 25% gewijzigd door .oisyn op 30-10-2026 21:08 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Pagina: 1 ... 57 58 Laatste

Let op:
Dit topic is niet de plaats om te lopen helpdesken. De Coffee Corner is primair bedoeld als uitlaatklep voor iedereen in de Devschuur® en niet als vraagbaak.