3 ms·
Thanks for the kind words, it's greatly appreciated. Renraku is really motivated by two things: 1) I believe that by going to pure managed code and getting rid
by daeken 17y ago
Thanks for the kind words, it's greatly appreciated.
Renraku is really motivated by two things: 1) I believe that by going to pure managed code and getting rid of address space separation, we'll see great increases in performance, and compiler technology is getting better by the day. 2) Existing OSes simply aren't built for the world we're in now. With everything interconnected, OSes that make it hard for computers to interact are simply holding back progress.
Renraku aims to change the landscape by leaving unmanaged code completely behind, making everything in the OS an object, and making all objects network transparent. The goal is to make it easy to develop for, easy to use, and incredibly fast. I believe we can do it, even if it does take us years (and it will).
- profquail 17y agoI'm very eagerly watching your progress! For a while now, I have wanted to try something like this on my own, but I've just never found (or made?) the time to do it. Hopefully when things free up a bit down the road, I'll be able to contribute some code towards this awesome project.
- jules 17y agoHow does managed code & one address space improve performance? I can see that system calls will get cheaper, but is that a performance bottleneck? Or are there other improvements?
- eggnet 17y agoTake a look at this http://en.wikipedia.org/wiki/Translation_lookaside_buffer http://en.wikipedia.org/wiki/Translation_lookaside_buffer Basically when you switch between processes you have to update this. In 64 bit and some 32 bit operating systems you don't need to update the TLB to make system calls, the kernel shares address space with whatever process is running. With a single process running I don't think the overhead is anything to concern yourself with, but if you have a lot of processes running I think it can measurably affect performance.
- deleted 17y ago[deleted]
- extension 17y agoAs eggnet said, you avoid the overhead of context switches, but you also avoid the restrictions of interprocess communication. That is typically done with sockets and marshalling, which can be orders of magnitude slower and more difficult to program than simple function calls.
- ajb 17y agoNetwork transparent objects were tried and found wanting before - how are you going to do it differently? Specifically, distributed programs normally have to be network aware in order to avoid large numbers of round trip times.