Hacker News new | ask | show | jobs
by CyberDildonics 63 days ago
It seems like you're calling an entire game engine "ECS". I'm not sure what the point is here, the whole question was what justifies having a 50 MB hello world binary. It doesn't matter what you put into a data structure, the data structure itself shouldn't make 50 MB binaries.
1 comments

No, they aren't calling the entire game engine "ECS". Entity-Component-System is an architecture that Bevy is structured around.

As I have previously stated, I wouldn't blame the data structures used behind Bevy just yet, given Rust's tendency for making bloated binaries. What is taking the most space in this 50MB binary? How does it scale with the complexity of the application?

Even if you can put a function pointer into a data structure, that's still just a data structure.
I don't know where you are trying to go with this logic. You still haven't assured that the 50MB is actually related to data structures used behind by bevy, lest you are insunating that the data structures used by bevy are solely responsible for that size, which is not what the post claims.
How small is a hello world in C on Linux? The last time I checked a few years ago, it was either 9Mb or 13Mb (memory is fuzzy on this one but one of them was right).

Edit: wow I’m way off… it must have been the 90s when I checked this lol

C statically linked hello world binaries have never been 9MB or 13MB, they definitely weren't in the 90s. Also these are rust binaries.

https://github.com/MichalStrehovsky/sizegame

Yeah, testing here with GCC 13.3.0 led to 16K. Perhaps, when you made your test, the compiler was statically linking some libs, which would explain the massive increase in size.
You should probably read the whole thread. You jumped in half way through and got all mixed up.
I know the thread. Your point is about whether Bevy's "data structure" is worth 50MB. I pressing on the fact that you haven't shown what this 50MB actually are.

But, out of curiosity, do you also consider the Linux Kernel also a data structure?

I pressing on the fact that you haven't shown what this 50MB actually are.

To be clear you think an ECS implementation is 50 MB?

But, out of curiosity, do you also consider the Linux Kernel also a data structure?

Do you think a spreadsheet the holds function pointers is a kernel?