3 ms·
This is going to sound rude but it is not my intention. The reality is that packing DOES NOT matter for most applications these days. I read an article about a
by banned1 9y ago
This is going to sound rude but it is not my intention. The reality is that packing DOES NOT matter for most applications these days.
I read an article about a person who was the last in the world to speak some obscure language. Some people wanted to start a school to teach others to speak that language, wanted the government to pay for it, etc.
The two articles gave me the same combined feel of “I feel a little sorry but not a lot” and “who cares.”
The compiler will take care of most.
Unfortunately for that person on the other article, he is basically screwed.
Don’t let that be you.
- abiox 9y agodepending on what you mean by "most applications", that's been the case for 20+ years. that said, compilers can't "take care" of a lot of things; and either way, people are still needed to develop and maintain those compilers. there will also always be software that has significant performance requirements, and opportunities to write higher performing software than competitors.
- xelxebar 9y agoOnly for certain values of "most". As the author mentions, kernels and embedded applications very often need to have tight control over memory layout.
- vardump 9y agoYou probably should not be using C.
- mar77i 9y agoUrm, the mere fact that somebody is capable to micro-manage every different aspect and detail about a program is purely theoretical, as nobody talks about actually doing so, or if, how often that is done. It just makes them a competent developer/computer scientist. Just like emergency protocols aren't used often by airplane pilots, doesn't mean they're completely useless. You may be right, as you'll never be trying to make a binary fit an artificially imposed size limit or things like this, as is sometimes necessary in the demo scene. In my experience, having aspiration always outweighs the ignorance of not having it. YMMV.
- CyberDildonics 9y agoI deal with this every day when writing lock free data structures. If you want to really make use of all those cores you can buy now, someone has to pay attention.
- FRex 9y agoThe compiler cannot reorder the fields. This stuff comes up occasionally in optimizing layout of language VM structures, compilers, in the Linux kernel and other low level situations. I.e. JVM compressed object pointers rely on the alignment and the native objects representation is definitely well laid out to not waste space due to alignment: https://stackoverflow.com/a/25120926 https://stackoverflow.com/a/25120926 https://blog.codecentric.de/en/2014/02/35gb-heap-less-32gb-java-jvm-memory-oddities/ https://blog.codecentric.de/en/2014/02/35gb-heap-less-32gb-j... Lua implementation similarly cares about alignment in some cases: http://lua-users.org/lists/lua-l/2009-02/msg00305.html http://lua-users.org/lists/lua-l/2009-02/msg00305.html This is not exactly 'struct packing' but alignment is closely connected to padding so its part of a wider interconnected topic.