200 Milliseconds

200ms.thenodebook.com

327 points by dimitarpanov 6 days ago


Retr0id - 3 days ago

> Violet marks the data as it moves, always top to bottom. Nothing else on the page uses that color.

I'm seeing 3 violet elements on my screen. "ms" in the top left, the dot next to that text, and a dot on a horizontal timeline at the lower edge of the screen. Scrolling down I see yet more violet UI elements, I assume the one on the vertical timeline represents the data, while all the others represent... other things.

It seems violet is just the accent colour used for everything, which makes it an especially perplexing comment. I can only assume the "author" never even read the LLM's output before posting it.

paimapi - 3 days ago

is it bad that while this does look like a really cool method to explain a complex topic, my instinct on reading mic-droppy, RLHF AI prose is to be dismissive? there's just something about the persistent mic drops and this-not-that writing that feels so cheap

I think it's because the explainer is passive, there's no interiority, it tells and doesn't show. plus, stylistically, if this were rewritten in second person (like most explainers are) it would make it a heck of a lot more readable:

'You order a coffee on your coffee shop's tablet. 211.4 ms later you see 'Order Confirmed'.

There's a world of complexity behind that status confirmation. Let's see how it all works.' etc

felooboolooomba - 3 days ago

> The person who clicked noticed no delay.

Just to be the "actually..." guy: People notice 200ms delay. It's just that in cases it doesn't cause any bad feelings."

jonahrd - 3 days ago

Am I crazy if for something like an online purchase, I kind of expect it to take a second or two to process the payment, so I would assume something went wrong if it was 200ms?

hex4def6 - 3 days ago

>touchpad controller

>capacitance dip → interrupt raised

>hid driver report: x 512 · y 288 · button 1 down

>...

>One millisecond in, the click has passed through four pieces of software and nothing has left the laptop.

I'm going to press X to doubt.

There's no way you're getting from "finger touching glass" -> "chrome seeing a click" in one millisecond. Heck, I know for a fact that even the cap touch controller isn't going to be that quick.

I would believe it's closer to 40-50ms, E2E. Even if the captouch was instantaneous, 1ms latency latency is in the realm of RTOS, not a general-purpose OS feeding a bloated app like chrome.

beders - 3 days ago

This is magnificent!

Gave me roller-coaster ride across 40 years of gathering knowledge about computers and networks.

I'm very jealous of whoever created that. Well done!

joshstrange - 3 days ago

> Violet marks the data as it moves, always top to bottom. Nothing else on the page uses that color.

Proceeds to use that color for tooltips, text color, headers, and more

This was a really cool visualization but that ^ bothered me way more than it should have.

rictic - 3 days ago

I'd be impressed with a touchpad and OS that can go from an actuation to a userspace process receiving a click event in 1.2ms. I'd expect something more like 10x that. My understanding is that most hardware samples between 90-130Hz, and even premium hardware only samples at 250Hz which would average 2ms before the kernel is aware.

jvanderbot - 3 days ago

> "The internet"

Classic software engineer perspective.

I have good friends who build their entire career between "ISP" and "Load Balancer"

cloverich - 2 days ago

I'm surprised at all the "200ms is slow" comments. I make many purchases online, don't we all? I can't remember the last time one took sub 1000ms; they usually take several. What are some of the websites you purchase from that truly complete a purchase in sub-200ms?

hahahaa - 3 days ago

Fine, but what is the journey of the p99.9 900ms request?

gregsadetsky - 3 days ago

Also see this classic:

https://github.com/alex/what-happens-when

"What happens when you type google.com into your browser's address box and press enter?"

semiquaver - 3 days ago

  > A problem repeatedly occurred on "https://200ms.thenodebook.com/#act-O-prologue”
I find this usually is caused by being too clever with layouts.
- 3 days ago
[deleted]
Cabbache - 3 days ago

This is very nice and for me especially because I've tried to think about it before your post. I think you can write a very long book if you go really into detail such as the underlying physics for wifi starting from maxwell's equations, how specific CPU architectures execute one instruction at a hardware level and maybe more in depth discussion about the math and cryptography within TLS.

mparnisari - 3 days ago

Great website! Seems like the web version of this book (which is highly recommended btw): https://www.goodreads.com/book/show/17985198-high-performanc...

dilyevsky - 3 days ago

> Its addresses are MAC addresses, serial numbers burned into each card at the factory.

oof

Nice idea, but execution could be better - way too many factual errors. Actually, considering it appears to be just 100% ai slop it's a little bit shocking how many just plain wrong statements it put out. Almost every section is at least a little bit off...

viggio24 - 3 days ago

Wonderful page, congratulations! navigating to the end takes time but the contents and the presentation are great

inerte - 3 days ago

Back in the day "what happens when the user types a url in the address bar and press enter" used to be an interview question, and I remember nobody has ever mentioned the hardware and keyboard keys and interrupts. This post does! Pretty awesome detailed view of a request lifecycle.

Animats - 3 days ago

So why does it take 5-10 seconds from card presented to accepted at Starbucks and CVS?

sqemo - 3 days ago

Great read. I was already familiar with the overall concept, but the step-by-step, chronological explanation made it much easier to understand.

Highly recommended for infrastructure engineers, solution architects, and developers.

codeduck - 3 days ago

Why would no local cache on a laptop hold the IP address for the api endpoint if it's already open in the browser and being posted to?

dangoodmanUT - 3 days ago

If it was 200ms, then it had already charged the card...

rockmeamedee - 3 days ago

I hate this. The style of LLM-written prose is unbearable, and I found several mistakes. This is "dazzle them with bullshit details" with no understanding behind it.

I assume the book this post is marketing is also AI slop too and I lost respect for its author.

arjie - 3 days ago

Wow, input lag is a lot lower than I thought. I thought it was a polling-based flow at some 120 Hz roughly. Good to update these numbers.

- 3 days ago
[deleted]
mrheosuper - 3 days ago

The website is barely readable on my shitty screen.

chrismorgan - 3 days ago

I don’t know how much a human was involved in making this, but clearly not enough. Some parts of the timing it’s talking about make no sense, the ordering of some parts is incoherent, and it promptly goes into unreasonable and irrelevant detail while completely missing other actually relevant aspects of that detail. For example, “HSTS preload”: it’s utterly irrelevant, because you already know it’s HTTPS; and even if it were HTTP, you should talk about HSTS, the preload list is effectively just a prefilled cache; it then adds more to that cache as you visit sites that have HSTS headers.

I’m very confident that if I looked further I’d find it riddled with errors. I just skimmed it and looked at a couple of the bits I’m most familiar with and immediately found notable errors.

3dedb728-3f77 - 3 days ago

200ms is insane, 50ms is the goal.

But really, great page.

Someone new could learn from it the basics of what to check when debugging web.

Method5440 - 3 days ago

“On the wire, each label is stored with its length in front, 3 api 11 thenodebook 3 com 0, and the final 0 marks the end of the name, where the last dot would go.”

Am I the only one that doesn’t think of this as ‘api.thenodebook.com.’? What does the LLM mean by the zero after .com marking where the last dot would go?

eterm - 3 days ago

The CSS animation of the encrypted message overwriting the plain is utterly cool.

VaporJournalAPP - 2 days ago

[flagged]

ZenithBar - 3 days ago

[flagged]

- 3 days ago
[deleted]
jmole - 3 days ago

[dead]

effseven - 3 days ago

[dead]

bufio - 3 days ago

200 ms is very slow.