Learning how to write performant code is hard. Here are a few simple laws that I hope will convey the core of the matter. I’m calling them…

Crista’s Five Laws of Performant Software

  1. Programming language << Programmers’ awareness of performance. The programming language doesn’t matter as much as the programmers’ awareness about the implementation of that language and its libraries. These days, all mainstream programming languages and their standard libraries are pretty optimized, and can be used to write performant code in a large range of application domains. They can also be used to write horribly performing code. For better or for worse, the high-level languages provide a large surface area of candy features and libraries that are really awesome to use… until you realize they require huge amounts of memory, or have a super-linear behavior with size of input. It is critical that people question “how does this magic actually work?,” go search for the answer, and figure out the best way of scaling things if the convenient candy is not as good as needed. There is usually another, better performing way of doing it even in high-level programming languages. (The main reason why C/C++ programmers don’t run into this as often is because there is an appalling lack of candy in the C/C++ ecosystem… performance isn’t hidden – nothing is!)

Source: Laws of Performant Software | Tagide

Categories: Uncategorized

Related Posts

Uncategorized

Becoming a 10x Data Scientist – Algorithmia

Borrowing tips and tricks from software developers, learn how to create a more productive workflow on the journey to becoming a 10X Data Scientist. Source: Becoming a 10x Data Scientist – Algorithmia Related PostsTrey Causey Read more…

Uncategorized

Announcing Rust 1.20 – The Rust Programming Language Blog

curl https://sh.rustup.rs -sSf | sh rustup update stable Source: Announcing Rust 1.20 – The Rust Programming Language Blog Related PostsIn Defense of C++Principles for C programming – Drew DeVault’s BlogVulnerability announced: update your Git clientsVulnerability Read more…

Uncategorized

Documentation and Analysis of the Linux Random Number Generator – LinuxRNG_EN.pdf

Source: Documentation and Analysis of the Linux Random Number Generator – LinuxRNG_EN.pdf Related Postsscikit-bio — scikit-bio 0.2.3 documentationComputational Statistics in Python — Computational Statistics in Python 0.1 documentationWhat’s New In Python 3.5 — Python 3.5.0b2 Read more…