4 ms·
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 on
by blueish 8y 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!
- all2well 8y agoOne 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 8y 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
- StavrosK 8y agoI guess he means that you don't need speed for distributed applications, which is a bit misquided because nobody said you did, and that's not what Rust claims to do well.
- fjsolwmv 8y ago> communication costs dwarf almost every other cost. That may have been true 10 or 20 years ago when networking was much slower.
- ljw1001 8y agoits still true because everything else is faster, too
- bunderbunder 8y agoEverything else was much slower, too. Oftentimes the biggest cost associated with communication is latency, and the one thing that hasn't changed over the past few decades is the speed of light.
- lomnakkus 8y agoThe problem usually isn't so much throughput, it's latency... and the speed of light sets a lower bound on that, unfortunately.
- himom 8y agoGarbage 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.