top | item 47142202

(no title)

philipkglass | 5 days ago

Older HN users may recall when busy discussions had comments split across several pages. This is because the Arc [1] language that HN runs on was originally hosted on top of Racket [2] and the implementation was too slow to handle giant discussions at HN scale. Around September 2024 Dang et al finished porting Arc to SBCL, and performance increased so much that even the largest discussions no longer need splitting. The server is unresponsive/restarting a lot less frequently since these changes, too, despite continued growth in traffic and comments:

https://news.ycombinator.com/item?id=41679215

[1] https://paulgraham.com/arc.html

[2] https://racket-lang.org/

discuss

order

rayiner|5 days ago

I love this comment:

"Btw, we rolled this out over 3 weeks ago and I think you're the first person to ask about it on HN. There was one earlier question by email. I think that qualifies as a splash-free dive."

I had no idea and I'm an HN addict!

philipkglass|5 days ago

I was the person who emailed him about it earlier.

2024-09-05, me:

On another topic, I just noticed that the 700+ comments on https://news.ycombinator.com/item?id=41445413 all render on a single page. Hurray! Is the pagination approach obsolete now? I know that you've commented several times about wanting to optimize the code so pagination wasn't necessary. I don't know if that's finished or if pagination will have to go on the next time there's a big breaking story.

Dan G:

Yes: the performance improvements I've been working on for years finally got deployed, so pagination is turned off for now.

(In case you're curious, the change is that Arc now runs over SBCL instead of Racket.)

...

Btw you're the only person I know of who's noticed this and pointed it out so far!

I have very mixed feelings about how much I know about this site.

rurban|4 days ago

Also racket since then was ported to use the fastest known scheme, chez, from the quite simple and slow mzscheme.

e12e|5 days ago

I suppose this version of Arc for sbcl is different from what hn runs on?:

https://github.com/pauek/arc-sbcl

And there's no version of Anarki that runs on sbcl?:

https://arclanguage.github.io/

dang|5 days ago

It's different, yes. The HN implementation is called clarc. PG suggested we spell it "clerk" as a joke on the British pronunciation of the latter, but I chickened out.

I talked to one of the Anarki devs (or at least someone who uses it) about possibly open-sourcing a version of clarc which would run the original open-sourced version of HN, but it's a bit hard because the implementation would require some careful surgery to factor out the relevant parts.