That must be without stripping. Also there are ways to reduce binary size. See e.g. [min-sized-rust](https://github.com/johnthagen/min-sized-rust). I've gotten stripped binaries of small cli utils less than 400KiB without doing anything special, less than 150 KiB by customizing profile settings and compressing with upx, and less than 30 KiB by replacing the std with the libc as the link shows. Haven't tried with fltk though...
I think practical/application issues are out of scope here as this is more like an academic study of a single dimension.
upx being acceptable or not is no different than how none of the best performing examples here would be acceotable in most situations either, not just the upx ones, just for other reasins. No company making a random app that didn't have a critical need for this metric would tolerate you writing it in assembly or even c with muscl etc instead of something everyone else can maintain.
uTorrent took over an entire market segment by being super fast and small. Some people value fast and small software when it happens, there is no reason to accept ridiculous bloat like rust needing multiple megabytes to print a string to stdout.
This is just a reminder of how much nonsense languages like rust are packing into their binaries without regard for the people using them.
No argument. The point was only that far fewer people can work on assembly, and far fewer want to live within the limits imposed by things like muscl. They all expect to code in high level magic environments just like their huge ides with language servers, and their bosses expect a level of productivity that requires that too.
If I wrote most things in this way, everyone else would think I was just trying to create artificial job security. Probably the very first reviewer would just reject it instantly and it would never even get started down that path. (unless a compelling justification could be demonstrated, and for most things there is no such justification)
I'm not denying this is cool. I like it too. I'm only saying that the upx consideration doesn't matter, because that's an application concern while this is more like theoretical research, and because it's not even the only problem with using code like this in your average real project.