r/redesign•
xobs

New Reddit is twice as slow as old Reddit

I've seen some posts stating that the new Reddit "feels" slow, but I thought I'd try quantifying it for myself. It's true, the new Reddit is twice as slow as the old version.

If I pop open the Inspector and look at the first GET request, old Reddit takes just under 1 second, whereas the new Reddit takes about 2 seconds. Just for the root page. This is compounded by the fact that the new Reddit downloads a lot more content after the initial load, which can cause a single page load to take upwards of 10 seconds in total. In contrast, a full page load takes 3-4 seconds with old.reddit.com.

Just for reference, here's a curl for the old vs new page:

xobs@Cuboid:~$ time curl -A "broken" 'https://www.reddit.com/r/redesign/' -o new.html
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  172k  100  172k    0     0  49183      0  0:00:03  0:00:03 --:--:-- 49202

real    0m3.853s
user    0m0.125s
sys     0m0.266s
xobs@Cuboid:~$ time curl -A "broken" 'https://old.reddit.com/r/redesign/' -o old.html
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  172k  100  172k    0     0   104k      0  0:00:01  0:00:01 --:--:--  104k

real    0m1.884s
user    0m0.141s
sys     0m0.281s
xobs@Cuboid:~$

Posted Jul 3, 2018, 2:47 AM UTC

8128
thinkadrianHelpful User•

You can’t measure the page speed with curl. The first time new reddit loads, it indeed downloads more assets, but because it’s an SAP, the second page load is potentially faster than old reddit.

27
FreeSpeechWarrior•

You're correct, but the way OP is measuring it is actually showing an important difference.

Even with a SAP generally your browser isn't going to do anything until the html document is returned. That curl is just the html and is similar to the load time that would be experienced by a browser with JS disabled. OP's results show that even if you have JS disabled you will see content faster on the old site than the new site's server-side rendering.

Now it's possible to make this less relevant (for JS users) through web service workers, but new reddit does not currently appear to be doing that.

Also, given how much of a focus the redesign seems to have on new users; it's rather unfortunate that the downside of the new approach is most apparent to brand new visitors.

17
thinkadrianHelpful User•

Sure, new Reddit could greatly benefit from server-side rendering in general for all the right reasons, but users with JS disabled are not the target audience, and hardly is to anybody anymore, and not the right example to use imho.

7
FreeSpeechWarrior•

Well the thing is, that performance with JS disabled is the best possible performance, as the JS users have to wait for that, and the additional js logic.

Serverside rendering helps js users see content faster generally as well.

The point here, is that even if all the extra js in the redesign ran instantly with no cpu cost, it would still be slower at a fresh load than the old site because the initial document return is slower.

New reddit is doing server-side rendering, it's just slower than old reddit's server side rendering, and this slows down js users as well (unless service workers are used)

12
thinkadrianHelpful User•

Gotcha!

Well, these are things that can be addressed at least. Redesign doesn't prevent optimizations. Let's hope we see more of that soon.

3
xobsOP•

I would think that would make it worse, wouldn't it? The time-to-first-byte of old reddit was half of the time-to-first-byte of new reddit, at least according to the Network measurement tab in Firefox. So even before new reddit has started to send data, old reddit has downloaded everything.

Could you please tell me what SAP is? I'm having trouble resolving that acronym.

6
thinkadrianHelpful User•

Sry, I meant SPA - Single-page App. It's not worse, as your browser is supposed to cache all those assets on first load, then never reload the window unless you close it. Each subsequent load is smaller and faster. An SPA only sends the minimum required data on each request.

Whatever the backend framework was, it'd have to get all content and user data, and merge with layout before sending to the client which reloads the window.

7
funciton•

Each subsequent load is smaller and faster. An SPA only sends the minimum required data on each request.

This "minimum" being up to 200 kb (= ~1 MB uncompressed) of XHR requests alone per post, depending on the subreddit. That's ridiculous. You could put the full HTML in there 5 times over, and still have some space left for the JSON data that they inexplicably put somewhere in the middle the HTML body.

Besides, with proper cache policies and a normal 'multi page' website you can do pretty much the same thing. All you need to do for each request is load the dynamic HTML, since all the static assets are cached.

4
FreeSpeechWarrior•

The data is there in json form to pre hydrate the state for the JS app so that it renders the same as what the server generated.

You should maybe stop poking around at the redesign so closely if you like your Reddit account though:

https://www.reddit.com/r/StallmanWasRight/comments/8m55dm/this_is_a_diff_of_reddits_new_tos_reddit_has_gone/

1†
oridb•

Sry, I meant SPA - Single-page App. It's not worse, as your browser is supposed to cache all those assets on first load, then never reload the window unless you close it. Each subsequent load is smaller and faster. An SPA only sends the minimum required data on each request.

That's the theory. In practice, I've never seen it work that way.

2
fiftyfootwall•

What attracted me to reddit 11 years ago was the simple design.

Why fix something thats not broke?

(money)

21
thinkadrianHelpful User•

Old reddit looked terrible even 11 years ago. And it was broke. New reddit is more than just a skin - it’s a platform the devs can more easily maintain and add more features onto.

17
fiftyfootwall•

I’m just saying, adding features isn’t necessarily a good thing. It’s like putting aone of those big wings on the back of a Camry

11
thinkadrianHelpful User•

The new mod tools, sidebars, wysiwyg editor, icons, and design features are most definitely improvements.

It’s like buying a new car.

8
vexens•

More so they had a really good vehicle saw some new tech then drove their working care purposefully into a telephone pole. Now that they've got the new car, they're finding out the lights don't work, the brakes can engage randomly, the stereo will wonk in and out when it feels like it, half the gas you put into the car leaks out, and every 28 seconds you find some Promoted Rider in your passenger seat yelling at you to buy their MLM goods.

The redesign is garbage.

9
[deleted]•

[deleted]

1
___Hobbes___Helpful User•

The old "don't fix it if it's not broken" is terrible. That's not how the world works at all. People that think this way are just fine on square wheels complaining about the people trying to figure out how to use round ones.

I say this as someone who designs systems and as someone who dislikes the redesign so far.

Change can be good, even if shit wasn't broken beforehand. In fact, it is often necessary

7
Johnny_Bob•

The divs change size during loading. That makes the site feel extra slow because they are being resized. Perhaps you could give them a better default size.

2
redtabooCommunity•

Heya! Thanks for this write up, here's a recent post from one of our engineers on what we've done to improve performance and the work we still have to do:

https://www.reddit.com/r/redesign/comments/8smbob/an_update_on_performance/

edit: the link you see is the link I wanted

1
xobsOP•

I saw that thread when I initially did research into anyone else who might have had this problem, and it talks a lot about Javascript. There is only a passing mention of how the speed is improved by 12%, which is not what I'm seeing at all.

The experience I'm seeing on my end is that everything is slower, including the time-to-first-byte. When I load a page, it takes longer before I see anything, and then it takes even longer than that as it makes the API calls to actually fetch the content.

4
GenitalGestapo•

That's a link to this thread...

From what I remember from the thread you're probably thinking of, none of the points mentioned referenced time to first byte, which is what OP is really measuring, and what we see in the networking section of browser inspectors. Even if the rest of the site is really fast, double the latency will always make it feel super slow. Perhaps new Reddit is running on a limited set of servers, or perhaps there's more server side work being done, but either way, new Reddit will feel slower until the latency issue is fixed.

3
redtabooCommunity•

oooof! thanks for the poke, fixed the link there and here:

https://www.reddit.com/r/redesign/comments/8smbob/an_update_on_performance/

1
[deleted]•

[deleted]

0
Zapk•

It's almost as if new reddit is newer than old reddit, and newer software needs newer equipment...

-3†
Astrokiwi•

This kind of logic is why people are making alarm clock apps that take up more disk space than Quake did

33
Zapk•

Yeah, I get it's really bloated, but most of these shitty modern web-frameworks are like that. They're trying to be special by using new tech, so you can't expect it to be as fast as it was before.

-2
buttputt•

You can certainly create fast webpages today without bloated libraries and analytics plugins. Remember when the GDPR was first effective and websites became considerably faster? Reddit is throwing its functional, snappy UX for one that is subjectively nicer to look at, has far more padding for ad space, and takes much longer to load.

10
OkToBeTakei•

And I could keep using my old stuff forever of I never wanted it to do anything new or better. And it’s ignorant to assume the performance changes are all due to tracking software.

-6
s1h4d0w•

And not to mention that new reddit loads a lot more and bigger images...

0