Work in progress: 181,232 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #2138

F

Francesco Mazzoli

Personal blog · mazzo.li/posts · on HN as rostayobprogrammingsystemshardware

Francesco Mazzoli writes bitonic's blog., a personal blog at mazzo.li about programming, systems and hardware. Since 2013, 35 different Hacker News readers have linked it 61 times, most often “Beating the L1 cache with value speculation (2021)”. It is still writing: the last post was on 2025-10-17, and you can follow it by feed.

Visit the blog
61mentions?
35HN people?
2013–2026first – last linked?
Links on Hacker News per year · peak 16 in 2025

Too few sampled comments (12) to say how often HN recommends it.?

Why HN links it

HN readers link this blog for deep dives into Linux, low-level performance and algorithms, such as fast pipes, io_uring, value speculation and huge pages.

Summarised by Claude from a sample of 12 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

The author on HN?

rostayob · 1,986 karma · member since 2011

f@mazzo.li -- https://mazzo.li -- https://twitter.com/trascendentale

From their public HN profile, which links to this site.

Most-linked posts?

  1. Beating the L1 cache with value speculation (2021)
    5 people · 5 mentions · first linked 2021-07-23
  2. How fast are Linux pipes anyway?
    5 people · 5 mentions · first linked 2022-06-02
  3. Benefits of Undefined Behavior
    4 people · 4 mentions · first linked 2025-10-18
  4. Waiting for many things at once with io_uring
    3 people · 3 mentions · first linked 2024-09-22
  5. Agda by Example: Sorting
    2 people · 3 mentions · first linked 2013-04-02
  6. Reliably Allocating Pages in Linux
    2 people · 3 mentions · first linked 2021-11-24
  7. /posts/autoscreen.html
    2 people · 2 mentions · first linked 2021-01-12
  8. How to stop Linux threads cleanly
    2 people · 2 mentions · first linked 2024-01-08
  9. Speeding up atan2f
    2 people · 2 mentions · first linked 2021-08-17
  10. Lánczos Interpolation Explained (2022)
    2 people · 2 mentions · first linked 2022-10-07

What Hacker News says?

  1. Hello https://mazzo.li/posts/fast-pipes.html#what-are-pipes-made-o... I think the diagram near the start of this section has "head" and "tail" swapped. Edit: Nevermind, I didn't read far enough.

    Comment linking /posts/fast-pipes.html

    on “How fast are Linux pipes anyway?”
  2. Submitted How fast are Linux pipes anyway? as a story · 698 points

    HN discussion
  3. If you require SSH features (e.g. port forwarding) or want to continue using your terminal's native scroll functionality, here's another alternative that a friend and I devised: https://mazzo.li/posts/autoscreen.html

    Comment linking /posts/autoscreen.html

    on “My ISP Is Killing My Idle SSH Sessions”
  4. Submitted How fast are Linux pipes anyway? (2022) as a story · 258 points

    HN discussion
  5. alzamos · 2025-12-23Recommends
    Francesco Mazzoli’s blog on https://mazzo.li/archive.html . His blog has topped HN a few times with various low-level/linux topics, some deep dives into algorithms etc.

    Comment linking /archive.html

    on “Ask HN: What are the best engineering blogs with real-world depth?”
  6. Submitted Beating the L1 cache with value speculation (2021) as a story · 248 points

    HN discussion
  7. Well in the articles case, it's the linked list `next` pointers: https://mazzo.li/posts/value-speculation.html#value-speculat... In a happy case, those will be laid out sequentially in memory so you can guess the value of the pointer easily. (That said your comment still stands, since using linked lists in the first place is much more rare). But I suppose there's probably a lot of other domains where you might have…

    Comment linking /posts/value-speculation.html

    on “Beating the L1 cache with value speculation (2021)”
  8. Submitted How to stop Linux threads cleanly as a story · 245 points

    HN discussion
  9. I talk about the cancelability state and how it can help us shortly after that statement: https://mazzo.li/posts/stopping-linux-threads.html#controlle... . In hindsight I should have made a forward reference to that section when talking about C++. My broad point was that combining C++ exceptions and thread cancellation is fraught with danger and imo best avoided.

    Comment linking /posts/stopping-linux-threads.html

    on “How to stop Linux threads cleanly”
  10. Submitted Speeding up atan2f as a story · 245 points

    HN discussion
  11. This option is described in detail in the blog posts, with its associated problems, see this section: https://mazzo.li/posts/stopping-linux-threads.html#homegrown... .

    Comment linking /posts/stopping-linux-threads.html

    on “How to stop Linux threads cleanly”
  12. Submitted When static makes your C code 10 times faster as a story · 201 points

    HN discussion
  13. This is noted in the blog post, but the problem is that sometimes you don't have the freedom to do so. See this sidenote and the section next to it: https://mazzo.li/posts/stopping-linux-threads.html#fn3 .

    Comment linking /posts/stopping-linux-threads.html

    on “How to stop Linux threads cleanly”
  14. Submitted Using GDPR to obtain one’s data as JSON as a story · 182 points

    HN discussion
  15. I've been using this script for years, and it works great: https://mazzo.li/posts/autoscreen.html It's very much like eternal terminal, but requires no upfront setup apart from having screen installed on the server.

    Comment linking /posts/autoscreen.html

    on “SSH alternatives for mobile, low-latency or unreliable connections”
  16. Submitted The essence of Reed-Solomon coding as a story · 168 points

    HN discussion
  17. Surprisingly, I only came across Francesco's blog this month. I stumbled upon the 2021 post "Speeding up atan2f by 50x" while searching for others who have to reimplement trigonometry in SIMD every other year. I've also enjoyed "Beating the L1 cache with value speculation" from the same year, as well as the 2013 Agda sorting example. Highly recommend checking it out: https://mazzo.li/archive.html

    Comment linking /archive.html

    on “Waiting for many things at once with io_uring”
  18. Submitted Lánczos Interpolation Explained (2022) as a story · 166 points

    HN discussion
  19. >vmsplice is more of a mini shared memory mechanism between two processes Doesn't seem to be the case, as it only supports zero-copy from user-memory to the pipe. The other way around results in a copy - see https://mazzo.li/posts/fast-pipes.html#fn10

    Comment linking /posts/fast-pipes.html

    on “How fast are Linux pipes anyway?”
  20. Submitted Beating the L1 cache with value speculation as a story · 157 points

    HN discussion
  21. There is also a great blog post that covers reliably allocating huge pages: https://mazzo.li/posts/check-huge-page.html

    Comment linking /posts/check-huge-page.html

    on “Pages Are a Good Idea”
  22. Submitted Waiting for many things at once with io_uring as a story · 123 points

    HN discussion
  23. NukedOne · 2023-12-20Recommends
    I'll share a couple: - Branch prediction https://danluu.com/branch-prediction/ - How fast are Linux pipes anyway? https://mazzo.li/posts/fast-pipes.html - NAT Slipstreaming v2.0 https://samy.pl/slipstream/

    Comment linking /posts/fast-pipes.html

    on “Ask HN: What are your favorite technical blog posts?”
  24. Submitted How to store Go pointers from assembly as a story · 73 points

    HN discussion
  25. https://mazzo.li/posts/fast-pipes.html#splicing : > In general when we write to a socket, or a file, or in our case a pipe, we’re first writing to a buffer somewhere in the kernel, and then let the kernel do its work. In the case of pipes, the pipe is a series of buffers in the kernel. All this copying is undesirable if we’re in the business of performance. > Luckily, Linux includes system calls to speed things up w…

    Comment linking /posts/fast-pipes.html

    on “Ubus (OpenWrt micro bus architecture)”
  26. Submitted Agda by Example: λ-calculus as a story · 71 points

    HN discussion
  27. Yes, with some work: https://mazzo.li/posts/fast-pipes.html

    Comment linking /posts/fast-pipes.html

    on “Ubus (OpenWrt micro bus architecture)”
  28. Submitted Lánczos Interpolation Explained as a story · 64 points

    HN discussion
  29. > On modern CPUs, avoiding branch misprediction is a key technique to speed up programs. This is true but it's misleading. The reality is that modern out-of-order superscalar CPUs are so good at branch prediction that it's nearly always better to branch in a tight loop (to allow more ILP) than introduce a data-dependency in a tight loop (which limits ILP). Cf. https://mazzo.li/posts/value-speculation.html , https://…

    Comment linking /posts/value-speculation.html

    on “Branchless Quicksort faster than std:sort and pdqsort with C and C++ API”
  30. Submitted How to stop Linux threads cleanly as a story · 61 points

    HN discussion

Search all of HN for mazzo.li

Linked by the same people?