A tale of latency and broken windows
yenkel.dev
A tale of latency and broken windows
1–10 of 17 posts
Re: A tale of latency and broken windows
#2Decide for each operation how long it us allowed to take. E.g. pushing this button reacts in 100ms. Make your tests record these times. Optimize when it becomes clear you're not going to make it.
There was an intervieuw with the Intel engineer that got the linux laptops booting in 10s. They budgetted, x seconds for kernel, y seconds for X11, etc. .
Re: A tale of latency and broken windows
#3This reminds me of the system I worked on, the devs had promised a 3-tier system but delivered a 2-tier system so management had them add a middle layer and the performance was terrible.
This reminds me of the system I worked on, the devs decided a lockless architecture was the way for better performance but with the limited threads we had at the time, apart from the few people who kept hold of a thread until they were done, the performance was terrible.
This reminds me of the system I worked on, the database design was a serious bottleneck but no one wanted to fix that so the app tier tried to change their queries, the performance was terrible.
I don't know why people spend so much time optimizing the wrong thing - it happens over and over again!
Re: A tale of latency and broken windows
#4This reminds me of a system I worked on, the devs all developed locally with all the services but in prod the services were on different hosts and the performance was terrible. This reminds me of the system I worked on, the devs had promised a 3-tier system but delivered a 2-tier system so management had them add a middle layer and the performance was terrible. This reminds me of the system I worked on, the devs deci…
Re: A tale of latency and broken windows
#5A simple way to include performance in the development activities without ending ib premature optimization territory is to introduce timing budgets. Decide for each operation how long it us allowed to take. E.g. pushing this button reacts in 100ms. Make your tests record these times. Optimize when it becomes clear you're not going to make it. There was an intervieuw with the Intel engineer that got the linux laptops…
Re: A tale of latency and broken windows
#6A simple way to include performance in the development activities without ending ib premature optimization territory is to introduce timing budgets. Decide for each operation how long it us allowed to take. E.g. pushing this button reacts in 100ms. Make your tests record these times. Optimize when it becomes clear you're not going to make it. There was an intervieuw with the Intel engineer that got the linux laptops…
Re: A tale of latency and broken windows
#7It makes more sense from the perspective of the real life outcomes of the law enforcement policy. By making an outsized response to trivial infractions a goal divorced from measurement against the desired result, finding reasons to harrass citizens became a performance target, and the policy is widely considered to be a failure in its intended outcomes and unintended consequences. Similarly, "Always Eschew Latency" as a task level target independent of desired project outcomes is likely to result in a product that performs ahead of schedule in every way except delivery date.
Re: A tale of latency and broken windows
#8A simple way to include performance in the development activities without ending ib premature optimization territory is to introduce timing budgets. Decide for each operation how long it us allowed to take. E.g. pushing this button reacts in 100ms. Make your tests record these times. Optimize when it becomes clear you're not going to make it. There was an intervieuw with the Intel engineer that got the linux laptops…
How do you measure this? Run the item multiple times in different envs and take an average?
For network latency, you can set profiles in things like headless Chrome or use the Linux / macOS traffic shaping globally.
Re: A tale of latency and broken windows
#9A simple way to include performance in the development activities without ending ib premature optimization territory is to introduce timing budgets. Decide for each operation how long it us allowed to take. E.g. pushing this button reacts in 100ms. Make your tests record these times. Optimize when it becomes clear you're not going to make it. There was an intervieuw with the Intel engineer that got the linux laptops…
How do you measure this? Run the item multiple times in different envs and take an average?
The main idea is to have some way to keep the pulse and notice the worst regressions.
Re: A tale of latency and broken windows
#10I'm lost on the broken windows analogy. Projects like software are constructed from these discrete elements; criminal activity is not. Bank robbery doesn't have a dependency on littering and jaywalking. It makes more sense from the perspective of the real life outcomes of the law enforcement policy. By making an outsized response to trivial infractions a goal divorced from measurement against the desired result, find…
Now I have no idea if the theory is correct.