Anyone else notice this?
-
Can someone please explain how NodeBB so fast now :godmode:!? It's like... on steroids now. I can already tell a proper benchmark would blow the competition.
I've noticed the prefetch trick (which is pretty neat I might add) but I'm sure theres way more than just that, but you should definitely write a tutorial on how this was achieved and what its gains. I can confidently say that when you compare the before speed to the current speed, its as if NodeBB has gone Super Saiyan. The best way I can describe... I'm amazed, so kudos to you.
-
@psychobunny created the Usainbolt.js file.
-
Agreed! I don't know what the heck happened in the past couple weeks, but the speed on every single device is legendary. Whatever y'all did, thanks for making speed a priority!
-
lolwut, I didn't even merge in my branch yet the next update should drop cold-loading to around 1.5s I think
changes that have been done so far:
- Prefetcher - hover over a link to preload API data
- We weren't caching language files, so every page load had one extra API call to fetch i8n
- Some perceived speed increases in Lavender - we saved the homepage masonry to localStorage so that we don't have to recalculate when you refresh. If a recalculation is needed it will be a smaller animation instead
-
maybe we are, the gremlins on the server are making .html files a few seconds before you visit, they're psychic too
(See: https://github.com/NodeBB/NodeBB/issues/1571 for benchmarks, etc)
-
Going to turn this into a thread re: optimizations
- I know @baris and @julian have been working on optimizing privileges, so they can expand on this one, we have a bunch of server optimizations ex. moving privileges out of controllers/home to higher up, so you guys can pitch in here.
- Just added local caching for widgets, this is especially noticeable on global widgets. Also moved widget rendering up the pecking order during loading. Hopefully you won't notice that 0.1s delay when ajaxifying from page to page anymore. For cold loads, you may still see that until we resolve this issue
- From gh#1571, we have now minified most of the require.js files, reducing cold-load times in general
Some more stuff TODO before we get to 0.5x, like taking our Custom CSS from the ACP and minifying that as well. Right now we are using a custom font for our community (Roboto) which is different from the default Lavender font. That equates to an extra 6 I think requests for no reason (we are also loading the old fonts too!), so we got to figure that out.
-
- Upgrading Socket.io to v1 should hopefully increase speed a ton, especially on older mobile devices. I'm really looking forward to this one personally, because my old shitbox phone that I had when we started working on NodeBB always took ages to load a thread.
-
@psychobunny said:
like taking our Custom CSS from the ACP and minifying that as well.
This is already done, the custom CSS tab also supports LESS now
-
Eh haha, Indeed!
-
Not an easy one to gauge or actually figure out, but performance on safari for iPad is nowhere near as fast as it is on desktop. Page loads are slower, waiting for more posts sometimes crashes and refreshes the entire topic. But without proper logging tools, I'm not entirely sure how it's even possible to confirm. Desktop rules and all that, but I like to browse on me iPad with a coffee in the garden.
-
No speed issues loading Nodebb.org from the toilet aka iPad.
Much much faster on all devices. Great work gents!
-
@a_5mith said:
Not an easy one to gauge or actually figure out, but performance on safari for iPad is nowhere near as fast as it is on desktop. Page loads are slower, waiting for more posts sometimes crashes and refreshes the entire topic. But without proper logging tools, I'm not entirely sure how it's even possible to confirm. Desktop rules and all that, but I like to browse on me iPad with a coffee in the garden.
Need to get my hands on an iPad to test... between the three of us here we only have one android tablet
-
@psychobunny http://learninglabs.org/opendevicelab/ Only an iPad 1 or an iPhone 4S, but might help. They're popping up everywhere
-
That's actually pretty damn cool. Should go there, show off NodeBB a bit and get some more people interested (oh and maybe fix iPad bugs)
-
@a_5mith said:
@psychobunny http://learninglabs.org/opendevicelab/ Only an iPad 1 or an iPhone 4S, but might help. They're popping up everywhere
Hey cool -- I think I went to a local dev meetup where these guys talked about how to start a device lab. I really want to start my own, but these guys seem to have already established one
One day when we're rich and famous we'll have one in our office