ownership & responsibility of software has a neat property that makes it similar to the "memory hierarchy": you get higher throughput if you can efficiently manage communications latency
if a project / technology / whatever is in a single team's domain, it's like everything fitting in to L1 cache - FAST. AS. HELL.

if your team is super lucky and firing on all cylinders, you can get to the "all in registers" world and it's dopeeeeeeeee
Communicating with other teams close to you in an org is like higher levels of cache - you need a bit of work to maintain cache-coherence across sockets and cores. It's still pretty fast, but nothing like a single-team.
Few rad projects are completely in the single-team domain, so the L2/L3/etc level is really common! It's a good layer to make sure you have the best cache-coherence / team-alignment efforts in place
Beyond that, you have inside-the-same-company-but-more-distant communication: going to memory.

You've got a ton more RAM than caches, and lots of info is in them! It's a gold mine! Super rad programs can need tons of RAM
but pulling it in to cache is still expensive - you have to account for it!
Communicating with other companies is like paging in from disk - it's available to you when you need it, and can enable some seriously awesome products, but doing it _all the time_ means super-high latency for getting information and potentially starving your CPU of work
"Keeping things in L1 cache" takes _work_, both in programming _and_ in running a team. You can't run at that max throughput if communication loops are high latency! But you can only have a low-latency loop for so much responsibility!
And again, cache coherency fits this analogy super well - if you don't manage it well, teams/CPUs can work on _the wrong thing_

BUT

managing it _takes time_ and latency!
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to computer mom is not mad, just disappointed
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member and get exclusive features!

Premium member ($3.00/month or $30.00/year)

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!