3 ms·
Yeah but they only run on a single operating system, so all you've accomplished is going from O(n*2) files to O(n) which is good but it'll never be great like A
by jart 5y ago
Yeah but they only run on a single operating system, so all you've accomplished is going from O(n*2) files to O(n) which is good but it'll never be great like APE which needs 1 file.
- andai 5y agoIn case anyone missed it, the Actually Portable Executable is well worth a read: https://justine.lol/ape.html https://justine.lol/ape.html https://news.ycombinator.com/item?id=26273960 https://news.ycombinator.com/item?id=26273960
- StavrosK 5y agoYeah, but in the first case you go from 1000 files to 2, whereas in the second you go from 2 to 1, which is much less impressive. Metrics are fun!
- IshKebab 5y agoAre people actually using APE? It's a really clever hack but I can't imagine it's a good idea to actually distribute executables that rely on ancient COM / shell formats and a weird C library to work. It's really not that hard to build standalone binaries for Mac, Linux and Windows using GitHub Actions. Especially if you use a reasonably modern language like Go, Dart or Rust.
- throwaway894345 5y agoEach binary runs on a single operating system, but you can easily cross-compile in Go. This is strictly better than the compiled Python case--either you're compiling Python to native code in which case you have the same problem and none of the easy-cross-compile benefits or else you ship a zip which inevitably contains lots of C dependencies that are also specific to one platform and you still can't easily cross compile. > so all you've accomplished is going from O(n*2) files to O(n) You go from N*M*2 where `M` is the number of target platforms to M (no need to use big-O notation as far as I can tell).