top | item 17259664

(no title)

blueish | 7 years ago

I recently took a compilers course from Hutchinson, and he talked a bit about the design behind object passing in Emerald from a compilers point of view, how once you have garbage collection, it's easy to implement moving objects between nodes of programs. Interesting concept that I was surprised to find wasn't as commonplace!

discuss

order

all2well|7 years ago

One issue is that at scale, communication costs dwarf almost every other cost. So, sending objects between nodes isn't as critical as you might think it is for distributed systems.

(I was also in Norm's class! It was awesome, and also got me over the Rust hype to some degree)

dpc_pw|7 years ago

> also got me over the Rust hype to some degree

You can't just throw a detail like that and not tell us more. :D

fjsolwmv|7 years ago

> communication costs dwarf almost every other cost.

That may have been true 10 or 20 years ago when networking was much slower.

himom|7 years ago

Garbage collection isn’t absolutely necessary with lifetime/liveness or explicit frees. Furthermore, at scale in production, if a GC were absolutely necessary, then it’s vital to have a concurrent, incremental collector like c4 because GC 30 sec pauses and sharding up app servers with 2 GiB heaps is unacceptable in the real world.