Hacker News new | ask | show | jobs
by Solar19 2640 days ago
Any ideas on why they use:

1. MessagePack (instead of, say, FlatBuffers – am I wrong to think that FlatBuffers are more efficient? (and the format was created by Google))

2. ELF binaries (instead of, say, taking a clean-sheet approach to executable formats)

Also, on ELF they say: "The loading position of the ELF is random and does not follow the v_addr specified in the ELF program header."

(They're talking about ASLR.) This just highlights for me that a more efficient format is possible, one that doesn't have a virtual address in its headers. Perhaps there are even bigger wins possible with a clean-sheet format.

1 comments

For ELF i would say because its easear to reuse a lot of tools that already deal with the format. Debuggers, linkers, compilers, etc..

My guess is also because its easear to have a bridge with Linux executables, so you can run the same ELF and emulate the linux syscalls somewhere like FreeBSD and now Windows .

I bet they were thinking about running Android stuff more easily, and i dont think there will be much more to gain in designing a whole new executable format, when you compare how much of free tools, code and compatibility with Linux you will have in the end.