Or that reasonable people may disagree on when to make signed/unsigned overflow undefined: Zig didn't only make it an UB on unchecked build they also trigger an "abort on overflow" in checked build.
(In an ideal world, which we sadly don't live in, you would statically prove that the dynamic bound checking would always succeed, and only then remove it.)
I remember a research paper about swap and GC, where the GC cooperated with the OS to avoid this kind of issue. AFAIK it went nowhere, too bad.
[–]andreiross[S] 15 points il y a 21 jours
Are you talking about this one? https://cse.buffalo.edu/\~mhertz/bc-pldi-2005.pdf. If so, yes. Too bad. I don't know the repercusions this paper had in the past, though, in the sense of pros and cons of the bookmark collector. Don't know if anyone tried to actually implement it or design it at some point.
It isn't a toy for sure, but I doubt that it has good scalability stories when using SMP..
I'd love to be wrong given that even phones are multicores, so feel free to correct me.
'data oriented' doesn't mean 'just use SoA' it means use data structures which correspond to your data access pattern.
Which is quite difficult to know in complex applications and which can change..
> hands are wrung that communication will become rife with error and misunderstanding because unlike the telegraph, the newfangled telephone leaves no written record!
Well let's not forget that early phone communication quality was ahem not-very-good, so of course errors were an issue.
> the OS _writes_ unused memory pages to the swap file
The OS write unused memory pages to the swap file by default.
But the 'constant memory' design is usually done with locking in memory both the executable and memory pages (also pinning the process to CPUs, using realtime priorities etc).
What’s the alternative? I think averaging with a dual input alert is a pretty good solution. Otherwise you need to find a solution to transition from one stick to the other. You can’t just switch sticks with the press of a button because the input could jump from elevator up directly to elevator down for example.