-
Notifications
You must be signed in to change notification settings - Fork 11
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
[3.x] Reduce javascript bundle size #604
base: master
Are you sure you want to change the base?
Conversation
Could you add a before and after time for the pageload? I'm afraid this might reduce that since we boot Vue during the turbo:load event, so booting Vue might be lazy loaded which would improve bundle size but reduce overall pagespeed scores. |
I've done a few performance tests on my local machine for you to check. Over an average over 5 tests:
(Note that the turbo:load time was measured directly in the browser performance console, as opposed to the other metrics which come from the browser's lighthouse console) What's interesting here is that the actual contentful paints according to lighthouse were consistently 100-200 ms faster, even though turbo actually consistently loaded in 20-30ms later. EDIT: I've also tested the FCP directly in the browser performance tab as well and actually found no significant difference between the two. Both averaged around 240-250ms with similar fluctuations. EDIT2: As for the |
Note: My testing has been done in combination with #646 as i'm pretty sure this will have no/negative impact if we need to wait for the turbo:load event. Testing has been done on X6 CPU slowdown and fast 4G Everything you see behind and including the block that says |
Is that check used anywhere? And this is approved @indykoning? |
Said check is used extensively in |
Okay so the respective 3.x branches should be updated with the check: And this should probably be added to the upgrade guide: |
eval
screws up minification creating a ~30kB size increase. I've changed thecheck
into a function here to get rid of the one and only use ofeval
in the code, which is a breaking change. I'm not sure why this wasn't done in the first place.