this post was submitted on 08 Nov 2024
734 points (98.2% liked)
Programmer Humor
19589 readers
627 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
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
The most beautiful thing about this program is that it would work.
Various bit flips will once lead to all numbers being in the correct order. No guarantee the numbers will be the same, though...
I'm not sure there's any guarantee that it will ever be sorted, since bit flips will be random and are just as likely to put it more out of order than more in order. Plus if there's any error correction going on, it can cancel out bit flips entirely until up to a certain threshold.
Though I'm not sure if ECC (and other methods) write the corrected value back to memory or just correct the signals going to the core, so it's possible they could still add up over time and overcome the second objection.
That was my understanding (it corrects the error and writes the good value back to RAM), but now I'm not so sure! I imagine it must do that, otherwise a second bit flip would actually corrupt the RAM, and the RAM manufacturer would want to reduce that risk.
Regular ECC adds an extra parity bit for each byte. For each byte of memory, it can correct an error in one bit, and detect but not correct an error in two bits, so they wouldn't want a one bit error to linger for longer than it needs to.