Trend of Focusing on Software Performance & Efficiency

ยท 1310 words ยท 7 minute read

You are hearing blazingly fast, faster, at the speed of thought, lightning fast, wicked fast,.. and too many similar phrases. This trend of performance optimization is not just in words and projects and such, It expands to include programming languages themselves, libraries, websites, servers, all things software. Even hardware, but we’ll focus on software.

Performant and efficient programming languages ๐Ÿ”—

If you plot the performance and efficiency of programming languages from 2000 until 2024 (current year), you’ll find that the programming languages are competing to boost their performance and efficiency.

You can look at Ruby, PHP and Javascript now and then. The difference is huge actually.

If you think of the ancient programming languages such as C, C++, .. and then the next era programming languages such as Python, PHP, Ruby,.. and then look at the modern languages such as Go , Rust, Zig , .. etc, you’ll know that the ancient era was simpler and faster but the developer experience is not good enough, the next era was great for developer experience at the cost of performance, but the modern era has the performance and good enough developer experience (in most cases).

All modern programming languages focus on efficiency and performance.

  • Go: Build simple, secure, scalable systems.
  • Zig: a general-purpose programming language and toolchain for maintaining robust, optimal and reusable software.
  • Rust: A language empowering everyone to build reliable and efficient software.
  • Jai is an exciting new programming language being developed by Jonathan Blow. The stated aim of the language is to be a better language for programming games than C++, but the language really is a general alternative to C++ with the following goals: high performance, joy of programming, simplicity and low friction.
  • Mojo combines the usability of Python with the performance of C, unlocking unparalleled programmability of AI hardware and extensibility of AI models.
  • Swift is a powerful and intuitive programming language for all Apple platforms. Itโ€™s easy to get started using Swift, with a concise-yet-expressive syntax and modern features youโ€™ll love. Swift code is safe by design and produces software that runs lightning-fast.

More performant and efficient web browsers ๐Ÿ”—

Firefox on Apr 17th, 2024 published :

Fast. And getting faster.
Did you know? Firefox is, on-average, 25% quicker with page loads than it was last year โ€“ and it was pretty fast then, too. That means even more all-round zippiness anywhere you go online.

And Chrome published a blog titled “ New performance and safety features are coming to Chrome ”. Here is a paragraph from the post.

Smarter performance controls
Last year, we introduced performance controls like Memory Saver mode to help Chrome on desktop run even smoother. We recently added more details about your tabsโ€™ memory usage when you hover over them in Memory Saver mode, including the potential memory saved when they go inactive. And weโ€™ve made it easier to specify sites that should always remain active.

On March 11, 2024 Chromium Blog published Speedometer 3: Building a benchmark that represents the web saying:

In collaboration with major web browser engines, Blink/V8, Gecko/SpiderMonkey, and WebKit/JavaScriptCore, weโ€™re excited to release Speedometer 3.0. Benchmarks, like Speedometer, are tools that can help browser vendors find opportunities to improve performance. Ideally, they simulate functionality that users encounter on typical websites, to ensure browsers can optimize areas that are beneficial to users.

If you refined your benchmarks, you’ll get faster and more efficient over time because you’ll use a better tool for benchmarks/performance metrics.

And WebKit Blog announced the same thing titled “ Speedometer 3.0: The Best Way Yet to Measure Browser Performance ”, then they published “ Optimizing WebKit & Safari for Speedometer 3.0 ”.

Microsoft Edge Blog published a post with title “ Improving Memory Usage in Microsoft Edge ”. Here is a sentence from that blog post about MS Edge performance improvement.

Early internal testing results of devices on the May 2020 Update are showing a memory usage reduction of up to 27% when browsing with Microsoft Edge.

More performance-enhancing IDEs / code editors ๐Ÿ”—

Android Studio โ€” IDE for creating Android apps โ€” made too many things in the last 4 years to give software developers the right tools to create efficient performant apps. Here is their recent tweet.

Zed โ€” a general purpose code editor โ€” is created to give better performance and developer experience. Read more about Zed’s features here .

Zed homepage start with this paragraph/announcemnet:

Code at the speed of thought
Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter. It’s also open source.

More performant software stacks/building blocks ๐Ÿ”—

Developing in node is slow, so too many frameworks and package managers is being developed to enhance the user experience and developer experience by providing more performance to the table.

Here are all software that wanna enhance UX and DX for Javascript/NodeJS:

  • Bun โ€” A fast all-in-one JavaScript runtime. Bun is written in Zig (an efficient performant modern programming language).
  • Vite โ€” Get ready for a development environment that can finally catch up with you. Vite provides instant server start and lightning fast hot module replacement (HMR) that stays fast regardless of app size.
  • esbuild - An extremely fast bundler for the web. Esbuild is written in Go programming language.
  • Qwik โ€” Build instantly-interactive web apps without effort.

Instead of learning Java/Kotlin and XML layout design, you can just learn Jetpack Compose to design a UI with Kotlin, so you can learn one language. To know more about Jetpack Compose for Android app dev, read Android Developers Blog on 09 April 2024 titled “ Google Drive cut code and development time in half with Jetpack Compose and new architecture ”.

Instead of developing website in WordPress, we can use Hugo the static site generator. Hugo is written in Go.

Instead of creating huge website projects in Django, Laravel or Ruby-on-Rails, we can create that huge project in Go programming language for better scalability and maintainability.

Instead of creating a C# program for Windows platform, C with GTK for Linux, Java or Kotlin for Android, Swift for Apple platforms (iPhone, iPad, macOS, ..), .. we can create all of this in one codebase using Flutter . Flutter provides better developer experience (DX) and user experience (UX) at the same time.

My thought on this performance trend ๐Ÿ”—

I like the trend of performance optimization in software. I know that the hardware is getting more capable and efficient but ..

Is that beefy 32GB RAM is for your program only? or it is for these huge number of memory hungry programs?

Is that beefy multithreaded performant mutlicore CPU for your program only? or it is for these too many programs and services running concurrently and in parallel in background ?

Is that humongous GPU for your game only? or it is for that elegant complicated user interface (UI) and other graphics and data-intensive tasks/services?

Do not develop a selfish program that consider the whole resources theirs. It is better for your software tool or app to be a good citizen and use resources efficiently.

I hope this post helps you. If you know a person who can benefit from this information, send them a link of this post. If you want to get notified about new posts, follow me on YouTube , Twitter (x) , LinkedIn , Facebook , Telegram and GitHub .