Size on disk doesn’t correlate to memory usage or load time. You can get a very small on disk size by compression, or downloading the main executable at runtime.
The size of the main binary and all the libraries loaded does determine the starting point of the memory usage, but then doing things like loading files are going to also use memory and there are many strategies for optimizing for speed, memory usage, disk size that have tradeoffs between them. Anyway the point is that the size of the program itself isn’t irrelevant even though it isn’t the only factor in memory usage.
Even the linked libraries may not contribute anything, if they are already loaded and shared amongst other processes. There are so many factors and trade offs that you cant really make any assumptions based off just the executable size.
The premise is probably if you can optimize the code to be small, you are probably also optimizing how it runs too. Rather then just bloat up everything
Once you start optimizing for one aspect, others become less important. In this case, they are doing a few hacks to get to 2.5kb, which do impact runtime performance. A few users report it using 500mb at runtime due to the compression :/
Sure. I wasn’t thinking of something like .kkreiger. I assumed that a small simple text editor would use a similarly small amount of memory. Shocked it ballooned so big. Sorry can’t read the article at the moment.
Simply building without Crinkler compression changes the file size to 11 kiB and RAM usage to 1.7 MB. That’s almost double what Microsoft’s old Notepad (at a file size of 250-350 kiB, including an uncompressed multi-size RGBA icon of around 100 kiB and localization) uses but not bad, and probably the version most people will prefer for practical use.
Size on disk doesn’t correlate to memory usage or load time. You can get a very small on disk size by compression, or downloading the main executable at runtime.
Thinking it doesn’t correlate at all seems foolish. There is some correlation, it’s just miniscule.
The size of the main binary and all the libraries loaded does determine the starting point of the memory usage, but then doing things like loading files are going to also use memory and there are many strategies for optimizing for speed, memory usage, disk size that have tradeoffs between them. Anyway the point is that the size of the program itself isn’t irrelevant even though it isn’t the only factor in memory usage.
Even the linked libraries may not contribute anything, if they are already loaded and shared amongst other processes. There are so many factors and trade offs that you cant really make any assumptions based off just the executable size.
The premise is probably if you can optimize the code to be small, you are probably also optimizing how it runs too. Rather then just bloat up everything
Once you start optimizing for one aspect, others become less important. In this case, they are doing a few hacks to get to 2.5kb, which do impact runtime performance. A few users report it using 500mb at runtime due to the compression :/
Well that sucks, although I assume that’s way better than the AI bloated version that now comes with Windows.
Sure. I wasn’t thinking of something like .kkreiger. I assumed that a small simple text editor would use a similarly small amount of memory. Shocked it ballooned so big. Sorry can’t read the article at the moment.
Simply building without Crinkler compression changes the file size to 11 kiB and RAM usage to 1.7 MB. That’s almost double what Microsoft’s old Notepad (at a file size of 250-350 kiB, including an uncompressed multi-size RGBA icon of around 100 kiB and localization) uses but not bad, and probably the version most people will prefer for practical use.
It does some of the tricks that .kkreiger uses, including compressing the binary.
And at least according to a few reports, it uses 500MB of ram:
https://github.com/PlummersSoftwareLLC/TinyRetroPad/issues/21
Oh my god thanks for these memories
demoscene & 64K intro