Open RobertBoes opened 1 month ago
Did a bit of testing in an artisan command, especially the md5_file
call is quite a bit slower;
Benchmark::dd([
'md5' => fn() => md5_file(public_path('build/manifest.json')), // around 0.085ms
'xxhash' => fn() => hash_file('xxh128', public_path('build/manifest.json')), // around 0.040ms
], 1000);
Of course it's not a massive impact, but it's a free improvement
Another attempt of #652
I recently noticed laravel/framework#52301, where most of the md5 calls will be replaced with xxhash, which is much faster than md5. For Inertia's asset versioning we don't need it to be cryptographically correct, but a performance improvement would be nice, especially since the middleware is executed on every request.
I think it's save to change this in the Inertia adapter, since all it would do is force a reload, which would happen when updating assets anyway.
Support for xxhash was added to PHP 8.1 (https://php.watch/versions/8.1/xxHash), so we can safely use this algorithm instead of md5.