Top all-time · #6492
Jackson Davis
Personal blog · jcdav.isprogrammingsystems
Jackson Davis's personal blog at jcdav.is covers programming and systems. Since 2015, 12 different Hacker News readers have linked it 20 times, most often “SIGSEGV as control flow – How the JVM optimizes your null checks”. The last post was in 2021, but the archive is still widely read.
Too few sampled comments (3) to say how often HN recommends it.?
Why HN links it
HN readers link Jackson Davis's posts on low-level programming topics, including compiler auto-vectorization, JVM string handling, SIGSEGV used as control flow, and memory and thread safety.
Summarised by Claude from a sample of 3 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- SIGSEGV as control flow – How the JVM optimizes your null checks5 people · 5 mentions · first linked 2015-11-02
- How the JVM compares strings on x86 using pcmpestri3 people · 3 mentions · first linked 2016-09-01
- Sigsegv as control flow: How the JVM optimizes your null checks2 people · 3 mentions · first linked 2025-07-25
- Holiday Hacking – Tracking my heart rate while playing Call of Duty2 people · 2 mentions · first linked 2021-01-04
- More JVM Signal tricks – Thread control via mprotect2 people · 2 mentions · first linked 2015-11-09
- Allocation on the JVM: Down the rabbit hole2 people · 2 mentions · first linked 2016-07-11
What Hacker News says?
I've got your point. Just for the sake of nitpicking: both your actual examples have been solved by compilers automatically. SIMD/AVX: https://code.jsoftware.com/wiki/Guides/AVX JVM generates vectorized string instructions from your simple for cycles - if availabe: http://jcdav.is/2016/09/01/How-the-JVM-compares-your-strings... edit: my second example link is maybe wrong, but anyway, auto-vectorization is a real thi…
Comment linking /2016/09/01/How-the-JVM-compares-your-strings/
on “Please do not attempt to simplify this code”Submitted How the JVM compares strings on x86 using pcmpestri as a story · 239 points
HN discussion> a segfault is completely unintentional Usually, but not always! https://jcdav.is/2015/10/06/SIGSEGV-as-control-flow/
Comment linking /2015/10/06/SIGSEGV-as-control-flow/
on “There is no memory safety without thread safety”Submitted How the JVM compares strings on x86 as a story · 142 points
HN discussion> Tracking the memory here would slow you down. Meh. A lot of systems use specialized memory pools for such use cases: - allocate memory pages from OS - allocate objects via this pool - release the full pool when done (i.e. just unmap t page, which essentially has no cost at all) If the task at hand is known to have an upper bound of same sized objects, this basically reduces management overhead to maintaining a sin…
Comment linking /2015/10/06/SIGSEGV-as-control-flow/
on “A JVM Does That? (2011) [pdf]”Submitted Allocation on the JVM: Down the rabbit hole as a story · 93 points
HN discussionSubmitted Holiday Hacking – Tracking my heart rate while playing Call of Duty as a story · 75 points
HN discussionSubmitted SIGSEGV as control flow – How the JVM optimizes your null checks as a story · 13 points
HN discussionSubmitted Fun C Micro-optimizations: restrict as a story · 11 points
HN discussionSubmitted SIGSEGV as control flow – How the JVM optimizes your null checks as a story · 6 points
HN discussionSubmitted Virtually free – JVM callsite optimization by example as a story · 4 points
HN discussionSubmitted SIGSEGV as control flow – How the JVM optimizes your null checks as a story · 4 points
HN discussionSubmitted My Running Wrapped 2025 as a story · 3 points
HN discussionSubmitted Sigsegv as control flow: How the JVM optimizes your null checks as a story · 2 points
HN discussionSubmitted Sigsegv as control flow – How the JVM optimizes your null checks (2015) as a story · 2 points
HN discussionSubmitted Allocation on the JVM: Down the rabbit hole as a story · 2 points
HN discussionSubmitted Holiday Hacking – Tracking my heart rate while playing Call of Duty as a story · 2 points
HN discussionSubmitted More JVM Signal tricks – Thread control via mprotect as a story · 2 points
HN discussionSubmitted SIGSEGV as control flow – How the JVM optimizes your null checks as a story · 2 points
HN discussionSubmitted More JVM Signal tricks – Thread control via mprotect as a story · 2 points
HN discussion