Thoughts about performance

I didn't post much in the past year due to moving, starting a new job and having a ton of life issues to deal with. I'm now in my first proper holiday since and I'm happy to post a little bit more.

In the past year, though, I've been posting thoughts on Twitter--as I did not have time to work on full posts, but I still wanted to share. So today I'm putting a few of those thoughts together here.

I'm pretty sure the right answer to "hey this project has great performance, let's make it better!" is not "Why bother?": why do you think it has great performance in the first place? Because we bothered. 😂

--14 May 2018

People often accuse me of being obsessed with code performance, even from day zero.
The thing is that perf is the easiest, most immediate way of reducing tech debt.
The prejudice that highly performing code is unreadable is totally false in the common case.
People imaging doing perf is like making sure to use every CPU cycle like Abrash and Carmack manually interleaving floating point ops with fixed point ops to fill the Pentium pipeline.
Not so! Perf work is in large part removing cruft and leaving essential, easy to read code.
It's changing that n^2 algorithm and using that other n log n. It's avoiding creating 10 million objects because of an oversight. It's making sure you have less code, less layers, less everything useless. Huge readability and productivity improvement!

22 Jun 2018

My obsession is not performance, my obsession is quality code. It is just a fact that if some code performs 10x or 100x slower than it should, it's invariably poor quality code. Many don't realize how fast software should be nowadays, if correctly written.

—-17 July 2018

If you read all these tweets together, my thought becomes quite clear. Bad performance is techincal debt, and not an "imaginary" kind of techincal debt--I'm not redefining the term--but an actual, bona fide indicator that there is debt to be paid. I do not have enough experience to say that this is true in all cases but, if you are not measuring the performance of your app, you are missing out on a great, easy to collect indicator of the amount of technical debt present.

Good coding!


Hi, I'm Marco Cecconi. I am the founder of Intelligent Hack, developer, hacker, blogger, conference lecturer. Bio: ex Stack Overflow core team, ex Toptal EM.

Read more

Newest Posts

What can Stack Overflow learn from ChatGPT?

Stack Overflow could benefit from adopting a using conversational AI to provide specific answers

Read more
Fan mail

Multiple people with my name use my email address and I can read their email, chaos ensues!

Read more
Intelligent Trip

After years of building, our top-notch consultancy to help start-ups and scale-ups create great, scalable products, I think it is high time I added an update to how it is going and what's next for us.

Read more
Guest blog: Building, in partnership with communities by Shog9

A lesson in building communities by Stack Overflow's most prominent community manager emeritus, Shog9

Read more
Can you migrate a company from on-premise to remote-only?

Some lessons learned over the past 8 years of remote work in some of the best remote companies on the planet

Read more

Gleanings

You Are Not Google
Ozan Onay • Jun 07, 2017

Software engineers go crazy for the most ridiculous things. We like to think that we’re hyper-rational, but when we have to choose a technology, we end up in a kind of frenzy 

Read more…