On 19.06.25 18:08, Calvin Buckley wrote:
> I think the biggest arguments against this would be:
>
> - embedded systems; think of PHP in use for i.e. router web UIs. While I
> suspect a lot of these are going to be i.e. AArch64/RV64 in the future,
> there might be a long tail of existing systems. Of course, how many
> would upgrade to PHP 9?
While new deployments trend toward 64-bit (e.g. AArch64), there's
definitely a long list of devices — particularly in legacy environments
— still running 32-bit systems. But realistically, how many of these
will ever upgrade to PHP 9? Probably very few. These systems often stay
locked to whatever version was originally shipped, and their vendors are
unlikely to invest in major version bumps.
> - WebAssembly; I don't know how widespread the Memory64 proposal is yet.
> We're using WebAssembly in the docs pages for runnable examples.
I don't know either. ChatGPT tells :
> The Memory64 proposal was *formally standardized (Phase 4)* in
November 2024, backed by strong votes and endorsement from the WASM
Community Group.
>
> It's enabled by default in *Firefox 134* and *Chrome 133+*, with
*Safari* still working on implementation.
>
> Major runtimes like *V8*, *Wasmtime*, *Wasmer*, *WASM2C* support Memory64
>
> Toolchains including *LLVM*, *Emscripten*, *Binaryen*, *WABT* support
it; *WASI‑SDK* has patches in progress
> And some niche cases like i.e. iSH (which emulates x86-32 on iOS).
This seems to be for very niche projects in itself already and running
PHP within such is even more niche - if present at all (outside of
"because I can" reasons).
> The other options include making zend_long always 64-bit and accept the
> performance penalty for 32-bit, or making 32-bit best-effort rather than
> providing any guarantees.
Is int64_t (size of long long 8) available on all systems (like
WebAssembly)?
The downside here, please correct me if I'm wrong, is that this
increases complexity instead of reducing it for how much value?