5 ms·
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 Solar19 8y 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.
- oscargrouch 8y agoFor 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.