this post was submitted on 15 May 2025
1151 points (98.6% liked)

Programmer Humor

23485 readers
2315 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
 
(page 2) 50 comments
sorted by: hot top controversial new old
[–] [email protected] 16 points 1 week ago (1 children)

just like electronic components, they sell the gates by the chip with multiple gates in them because it's cheaper

load more comments (1 replies)
[–] savedbythezsh 14 points 1 week ago (9 children)

Are you telling me that no compiler optimizes this? Why?

[–] [email protected] 5 points 1 week ago* (last edited 1 week ago) (1 children)

Consider what the disassembly would look like. There's no fast way to do it.

It's also unnecessary since 8 bytes is a negligible amount in most cases. Serialization is the only real scenario where it matters. (Edit: and embedded)

load more comments (1 replies)
load more comments (8 replies)
[–] [email protected] 13 points 1 week ago (1 children)

Wait until you hear about alignment

load more comments (1 replies)
[–] [email protected] 12 points 1 week ago

This reminds me that I actually once made a class to store bools packed in uint8 array to save bytes.

Had forgotten that. I think i have to update the list of top 10 dumbest things i ever did.

[–] [email protected] 9 points 1 week ago (6 children)

Wait till you here about every ascii letter. . .

load more comments (6 replies)
[–] [email protected] 8 points 1 week ago

We need to be able to express 0 and 1 as integers so that functionality is just being overloaded to express another concept.

Wait until the person who made this meme finds out about how many bits are being wasted on modern CPU architectures. 7 is the minimum possible wasted bits but it would be 31 on every modern computer (even 64b machines since they default to 32b ints).

[–] [email protected] 6 points 1 week ago (1 children)

3GPP has an interesting way of serialising bools on the wire with ASN.1

NULL OPTIONAL

meaning only the type would be stored if true, otherwise it won't be set at all

load more comments (1 replies)
[–] [email protected] 6 points 1 week ago

This guy never coded in KEIL C on an 8051 architecture. They actually use bit addressable RAM for booleans. And if you set the compiler to pass function parameters in registers, it uses the carry flag for the first bit or bool type parameter.

[–] [email protected] 6 points 1 week ago

Wait till you realise the size of SSD sectors

[–] [email protected] 6 points 1 week ago (2 children)

I swore I read that mysql dbs will store multiple bools in a row as bit maps in one byte. I can't prove it though

load more comments (2 replies)
[–] [email protected] 5 points 1 week ago* (last edited 1 week ago) (2 children)

I mean is it really a waste? What's minimum amount of bits most CPUs read in one cycle.

[–] [email protected] 11 points 1 week ago

In terms of memory usage it's a waste. But in terms of performance you're absolutely correct. It's generally far more efficient to check is a word is 0 than to check if a single bit is zero.

load more comments (1 replies)
[–] [email protected] 5 points 1 week ago

...or you can be coding assembler - it's all just bits to me

[–] [email protected] 5 points 1 week ago

pragma(pack) {

int a:1, b:1, ... h:1;

}

IIRC.

[–] [email protected] 5 points 1 week ago (1 children)

Redundancy is nice in the event of bitflip errors

[–] [email protected] 11 points 1 week ago (2 children)

Is the redundancy used for bools? I mean in actual practice.

load more comments (2 replies)
load more comments
view more: ‹ prev next ›