Comment

Comment by jiggawatts

I used to write 4K demos and the like in assembly, and I wrote a 3D engine in the era where you still thought hard about making something a function call or not because... you know... those fractions of a microseconds add up, and next thing you know you've blown your 16.6ms frame time budget!

These days I see people casually adding network hops to web applications like it's nothing. These actually take multiple milliseconds in common scenarios such as cloud hosting on a PaaS. (I measured. Have you?)

At that point it's not even relevant how fast your CPUs are, you're blowing your "time budget" in just a handful of remote function calls.

If you stop and think about it, the "modern" default protocol stack for a simple function consists of:

    - Creating an object graph scattered randomly on the heap
    - Serialising it with dynamic reflection 
      ...to a *text* format!
      ...written into a dynamically resizing buffer
    - Gzip compressing it to another resizing buffer
    - Encrypting it to stop the spies in the data centre
    - Buffering
    - Kernel transition
    - Buffering again in the NIC
    - Router(s)
    - Firewall(s)
    - Load balancer
and then the reverse of the above for the data to be received!

then the forward -- and -- backwards stack -- again -- for the response

If this isn't insanity, I don't know what is...

parent jiggawatts 5 years ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton