←back to thread

257 points pg | 4 comments | | HN request time: 0.633s | source
Show context
axod ◴[] No.2121163[source]
1 thread per connection??? Not doing continual GC in a separate thread and instead taking 7 seconds and blocking everything?

What is this the 1990s?

replies(2): >>2121271 #>>2121982 #
pg ◴[] No.2121271[source]
Feel free to fork MzScheme and replace the garbage collector with a new one that runs continuously.
replies(4): >>2121343 #>>2121445 #>>2121466 #>>2121889 #
marcamillion ◴[] No.2121889[source]
I love this response. Would be really interested in a follow-up from axod (or by pg about axod's version).

It's easy to criticize, but let's see what happens when the pedal hits the metal.

replies(1): >>2123225 #
axod ◴[] No.2123225[source]
My response TBH, would be that there is no point spending months tweaking the engine of a ford to try and get it to perform like a porche. Just get a porche in the first place.

I don't value "being able to write it in my favorite language" at all. From what I've read, pg does. To the extent that the product suffers.

There would be absolutely no point me trying to improve mzScheme when you can do exactly the same job in other languages/platforms, and the user doesn't care/know the difference. HN could be rewritten in a weekend, in PHP/python/whatever and we wouldn't be sitting here waiting for pages to load.

(I run Mibbit, which handles a few thousand HTTP requests a second, on VPS level hardware. In Java).

replies(2): >>2123241 #>>2130395 #
1. jmtulloss ◴[] No.2123241[source]
Neither Python nor PHP run garbage collection continuously in a separate thread. Python is reference counted, and as far as I know PHP is too.
replies(1): >>2123256 #
2. axod ◴[] No.2123256[source]
But I'd bet both of them perform far better than MzScheme.

In any event, it's a "solved problem". The sheer amount of time and effort going into this is silly. Just pick a better language/platform and use it.

replies(2): >>2124624 #>>2126192 #
3. marcamillion ◴[] No.2124624[source]
I guess the point is, axod, if you aren't willing to backup talk with action, it might be best to think about what you say before you say it.

Don't slam something saying I could do better, and then have your bluff called.

Makes you look silly. This applies to even if the person calling your bluff was NOT pg.

4. jmtulloss ◴[] No.2126192[source]
It depends on what you mean by "perform better". Any reference-counted GC mechanism will have memory leaks, which is a serious problem in a long-running process. Python gets around this by also occasionally running a traditional GC, which, btw, is a stop-the-world GC.