frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Fast-Servers

https://geocar.sdf1.org/fast-servers.html
39•tosh•2h ago

Comments

kogus•1h ago
Slightly tangential, but why is the first diagram duplicated at .1 opacity?
tecleandor•1h ago
That plus the ellipsis makes me thing that it means the additional threads that would open for next connections...
kogus•1h ago
Ah, that makes sense.
ratrocket•1h ago
discussed in 2016: https://news.ycombinator.com/item?id=10872209 (53 comments)
lmz•1h ago
Seems similar to the SEDA architecture https://en.wikipedia.org/wiki/Staged_event-driven_architectu...
bee_rider•1h ago
> One thread per core, pinned (affinity) to separate CPUs, each with their own epoll/kqueue fd

> Each major state transition (accept, reader) is handled by a separate thread, and transitioning one client from one state to another involves passing the file descriptor to the epoll/kqueue fd of the other thread.

So this seems like a little pipeline that all of the requests go through, right? For somebody who doesn’t do server stuff, is there a general idea of how many stages a typical server might be able to implement? And does it create a load-balancing problem? I’d expect some stages to be quite cheap…

marcosdumay•36m ago
> For somebody who doesn’t do server stuff, is there a general idea of how many stages a typical server might be able to implement?

On the HTTP server from the article, what I understood is that those 2 you are seeing are the ones you have. Or maybe 3, if disposing of things is slow.

I'm not sure what I prefer. On one hand, there's some expensive coordination for passing those file descriptors around. On the other hand, having some separate code bother with creating and closing the connections make it easier to focus on the actual performance issues where they appear, and create opportunity to dispatch work smartly.

Of course, you can go all the way in and make a green threads server where every bit of IO puts the work back on the queue. But you would use a single queue then, and dispatch the code that works on it. So you get more branching, but less coordination.

luizfelberti•1h ago
A bit dated in the sense that for Linux you'd probably use io_uring nowadays, but otherwise it's a timeless design

Still, I'm conflicted on whether separating stages per thread (accept on one thread and the client loop in another) is a good idea. It sounds like the gains would be minimal or non-existent even in ideal circumstances, and on some workloads where there's not a lot of clients or connection churn it would waste an entire core for handling a low-volume event.

I'm open to contrarian opinions on this though, maybe I'm not seeing soemthing...

eklavya•57m ago
It is not a good idea, especially with the new chiplet/CCX processors.
raggi•52m ago
It’s not a good idea and that’s where I’d really start with the dated commentary here rather than focusing on the polling mechanism. It depends on the application but if the buffers are large (>=64kb) such as a common TCP workload then uring won’t necessarily help that much. You’ll gain a lot of scalability regardless of polling mechanism by making sure you can utilize rss and xss optimizations.
jfindley•45m ago
io_uring is in a curious place. Yes it does offer significant performance advantages, but it continues to be such a consistent source of bugs - many with serious security implications - that it's questionable if it's really worth using.

I do agree that it's a bit dated and today you'd do other things (notably SO_REUSEPORT), just feel that io_uring is a questionable example.

ciconia•37m ago
> continues to be such a consistent source of bugs - many with serious security implications... just feel that io_uring is a questionable example.

Are you saying this as someone with experience, or is it just a feeling? Please give examples of recent bugs in io_uring that have security implications.

dspillett•22m ago
Not OP, and I'm no expert in the area at all, but I _do_ have a feeling that there have been quite a few such issues posted here and elsewhere that I read in the last year.

https://www.cve.org/CVERecord/SearchResults?query=io_uring seems to back that up. Only one relevant CVE listed there for 2026 so far, for more than two per month on average in 2025. Caveat: I've not looked into the severity and ease of exploit for any of those issues listed.

fao_•51m ago
this is more or less, in some way, what Erlang does and how Erlang is so easy to scale.
epicprogrammer•47m ago
It’s an interesting throwback to SEDA, but physically passing file descriptors between different cores as a connection changes state is usually a performance killer on modern hardware. While it sounds elegant on a whiteboard to have a dedicated 'accept' core and a 'read' core, you end up trading a slightly simpler state machine for massive L1/L2 cache thrashing. Every time you hand off that connection, you immediately invalidate the buffers and TCP state you just built up. There’s a reason the industry largely settled on shared-nothing architectures like NGINX having a single pinned thread handle the entire lifecycle of a request keeps all that data strictly local to the CPU cache. When you're trying to scale, respecting data locality almost always beats pipeline cleanliness.
rot13maxi•20m ago
i havent seen an sdf1.org url in a looooong time. lovely to see its still around

Google Safe Browsing missed 84% of phishing sites we found in February

https://www.norn-labs.com/blog/huginn-report-feb-2026
128•jdup7•1h ago•44 comments

Wikipedia in read-only mode following mass admin account compromise

https://www.wikimediastatus.net
57•greyface-•54m ago•10 comments

Show HN: Jido 2.0, Elixir Agent Framework

https://jido.run/blog/jido-2-0-is-here
74•mikehostetler•1h ago•10 comments

Good software knows when to stop

https://ogirardot.writizzy.com/p/good-software-knows-when-to-stop
98•ssaboum•3h ago•50 comments

Judge Orders Government to Begin Refunding More Than $130B in Tariffs

https://www.wsj.com/politics/policy/judge-orders-government-to-begin-refunding-more-than-130-bill...
545•JumpCrisscross•2h ago•411 comments

Fast-Servers

https://geocar.sdf1.org/fast-servers.html
40•tosh•2h ago•16 comments

Nvidia PersonaPlex 7B on Apple Silicon: Full-Duplex Speech-to-Speech in Swift

https://blog.ivan.digital/nvidia-personaplex-7b-on-apple-silicon-full-duplex-speech-to-speech-in-...
281•ipotapov•9h ago•93 comments

Google Workspace CLI

https://github.com/googleworkspace/cli
802•gonzalovargas•16h ago•261 comments

Relicensing with AI-Assisted Rewrite

https://tuananh.net/2026/03/05/relicensing-with-ai-assisted-rewrite/
296•tuananh•11h ago•300 comments

Intelligence is a commodity. Context is the real AI Moat

https://adlrocha.substack.com/p/adlrocha-intelligence-is-a-commodity
53•adlrocha•4d ago•18 comments

World-first gigabit laser link between aircraft and geostationary satellite

https://www.esa.int/Applications/Connectivity_and_Secure_Communications/World-first_gigabit-per-s...
95•giuliomagnifico•4d ago•37 comments

The L in "LLM" Stands for Lying

https://acko.net/blog/the-l-in-llm-stands-for-lying/
524•LorenDB•12h ago•342 comments

The Man Who Broke into Jail

https://www.newyorker.com/magazine/2026/03/09/alexander-friedmann-profile-prison-reform
32•fortran77•1d ago•16 comments

Smalltalk's Browser: Unbeatable, yet Not Enough

https://blog.lorenzano.eu/smalltalks-browser-unbeatable-yet-not-enough/
107•mpweiher•9h ago•38 comments

Poor Man's Polaroid

https://boxart.lt/blog/poor_mans_polaroid
126•ZacnyLos•9h ago•45 comments

AMD will bring its “Ryzen AI” processors to standard desktop PCs for first time

https://arstechnica.com/gadgets/2026/03/amd-ryzen-ai-400-cpus-will-bring-upgraded-graphics-to-soc...
172•Bender•3d ago•150 comments

Building a new Flash

https://bill.newgrounds.com/news/post/1607118
647•TechPlasma•20h ago•211 comments

Greg Kroah-Hartman Stretches Support Periods for Key Linux LTS Kernels

https://fossforce.com/2026/03/greg-kroah-hartman-stretches-support-periods-for-key-linux-lts-kern...
9•brideoflinux•3d ago•1 comments

Arabic document from 17th-cent. rubbish heap confirms semi-legendary Nubian king

https://phys.org/news/2026-02-arabic-document-17th-century-rubbish.html
109•wglb•2d ago•33 comments

Jails for NetBSD – Kernel Enforced Isolation and Native Resource Control

https://netbsd-jails.petermann-digital.de/
75•vermaden•9h ago•17 comments

Billy bookshelves as a retro motherboard "rack"

https://rubenerd.com/billy-bookcase-as-a-retro-motherboard-rack/
44•ingve•4d ago•34 comments

Something is afoot in the land of Qwen

https://simonwillison.net/2026/Mar/4/qwen/
751•simonw•1d ago•322 comments

Unix Isn't for Agents

https://pwhite.org/unix-is-not-for-agents
15•handfuloflight•3h ago•6 comments

OpenBSD on SGI: A Rollercoaster Story

http://miod.online.fr/software/openbsd/stories/sgiall.html
64•brynet•10h ago•2 comments

The IRIX 6.5.7M (sgi) source code

https://github.com/calmsacibis995/irix-657m-src
23•reconnecting•1h ago•11 comments

MacBook Neo

https://www.apple.com/newsroom/2026/03/say-hello-to-macbook-neo/
1880•dm•1d ago•2180 comments

No right to relicense this project

https://github.com/chardet/chardet/issues/327
392•robin_reala•8h ago•255 comments

BMW Group to deploy humanoid robots in production in Germany for the first time

https://www.press.bmwgroup.com/global/article/detail/T0455864EN/bmw-group-to-deploy-humanoid-robo...
200•JeanKage•19h ago•214 comments

Earth Garden: Field Recordings Around the World

https://earth-garden.alen.ro/
35•alentodorov•1d ago•10 comments

US tech firms pledge at White House to bear costs of energy for datacenters

https://www.theguardian.com/us-news/2026/mar/04/us-tech-companies-energy-cost-pledge-white-house
141•geox•14h ago•170 comments