Live data from Hacker News

What caused that outage

news.ycombinator.com

21–30 of 65 posts

Re: What caused that outage

#21
post #20
post #3

That's what happens when you make something in a new and unproven language. And I think that it deserves tremendous respect that you have done so. You could have hacked HN in python (or lisp?) in a weekend with the knowledge that it would scale, yet you decided to go with Arc. Very bold. And a great way to battletest a new language. It's great to see people eat their own dogfood.

If I'm not mistaken, "to battletest a new language" was the purpose of building this.

Keep in mind that mzscheme is battle tested. Arc is "just" a bunch of macros on top of PLT Scheme; what gives HN its [under]performing character is that foundational JIT compiler and 3m GC.

Re: What caused that outage

#24

I thought 32-bit addressing gave 4GB of addresses…is there some sort of flag that's taking one bit? Not trying to be a smartass, just curious about the discrepancy.

IIRC, Linux uses the high-bit to distinguish between userspace and kernel space.

Re: What caused that outage

#25

You aren't running this in the standard language/caching/db setup, then? You're storing EVERYTHING in memory? Isn't this kind of.. well, stupid, frankly.

While the comment above may not have the best manners, it does bring up an interesting point. I certainly wouldn't mind hearing more about HN's setup.

Re: What caused that outage

#27
post #21
post #20

Earlier quoted context omitted.

If I'm not mistaken, "to battletest a new language" was the purpose of building this.

Keep in mind that mzscheme is battle tested. Arc is "just" a bunch of macros on top of PLT Scheme; what gives HN its [under]performing character is that foundational JIT compiler and 3m GC.

Arc compiles into MzScheme, but it's not implemented as macros. You can see that from the source.

Re: What caused that outage

#28

I thought 32-bit addressing gave 4GB of addresses…is there some sort of flag that's taking one bit? Not trying to be a smartass, just curious about the discrepancy.

There ends up being only 2GB of heap, which is where all the stories and comments live.

Re: What caused that outage

#29

You aren't running this in the standard language/caching/db setup, then? You're storing EVERYTHING in memory? Isn't this kind of.. well, stupid, frankly.

While the comment above may not have the best manners, it does bring up an interesting point. I certainly wouldn't mind hearing more about HN's setup.

If you're really curious and have the time, you can download the source: http://arclanguage.org/install

Re: What caused that outage

#30
post #19

I thought 32-bit addressing gave 4GB of addresses…is there some sort of flag that's taking one bit? Not trying to be a smartass, just curious about the discrepancy.

dynamic languages end up using more memory, because extra information has to be stored about each item (I.e. Type, tc info, etc).

Down-voters, he is also right.

It's common for dynamic languages to embed typing information in pointers as an optimization. For example, CLISP uses at least 2 bits to distinguish between common types. That way fixnum numbers can be recognized and added without slow memory accesses.

The result is that you get less bits for the address. Hence less addressable memory.

Post reply on HN