-
Notifications
You must be signed in to change notification settings - Fork 11.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[11.x] Supercharge Blade #51143
[11.x] Supercharge Blade #51143
Conversation
Thanks for submitting a PR! Note that draft PR's are not reviewed. If you would like a review, please mark your pull request as ready for review in the GitHub user interface. Pull requests that are abandoned in draft may be closed due to inactivity. |
c6e80d1
to
f184d15
Compare
5f4d7cd
to
4a06f2a
Compare
4a06f2a
to
67427e2
Compare
e0184dc
to
72cd000
Compare
Tests fail here |
I wanted to wait until someone with clout let me know they approved of the approaches before changing the test fixtures to match the new patterns in compiled views. Kinda disappointing that this is the first bit of feedback. |
I'll re-open this but we normally don't review PR's with failing tests. We've had lots of issues in the past with PR's being merged with failing tests, sub sequentially causing other PR's to fail who were send after it being merged. As a precaution we simple do not accept PR's with failing tests. |
Not asking it to be merged with failing tests. Just some sort of 👍 for significant changes before I inflate the code to review with test changes. I will make the tests pass before taking it out of draft. |
@assertchris Taylor doesn't sees draft PR's. |
5e60e46
to
c0a4e22
Compare
a55df4b
to
b3b88d8
Compare
@assertchris Your changes match a lot of the discovery I was doing. In my tests the dispatch equated between 10-20%. So I'm curious what % of improvement in this PR can be attributed to the other changes. |
@lonnylot Unsure. I think there could be value in standardising a benchmark arounds all sorts of component use-cases; which could be used to benchmark improvements. My benchmark was originally slanted towards better testing the in-memory cache use-case; but I ended up removing that part of the PR. |
Solid start! 🔥 |
Thanks @assertchris |
Attempting to cement my legend status, by:
Caching identical view rendersThese changes focus on reducing engine work (not just in Blade) and not just by removing file I/O.
Seeing a 15% - 25% improvement (0% repeated attribute sets vs. 50% repeated attribute sets), with the following conditions:
Updates:
Fun anecdote:
I went as far as checking things like whether I could replace the
preg_replace
inStr::snake
with customstr_replace
voodoo, but benchmarking showed it wouldn't save much and it was...very strange.