Make your programs faster and more responsive by understanding how to create efficient, optimized, well-running code in any programming language.
- Welcome to Foundations of Programming Code Efficiency. I'm Simon Allardice and in this course, I'll talk about how to make your programs faster, more efficient, more optimized, more responsive, and making better use of whatever resources you have. But this kind of work is not what most developers first think it is. So we'll begin by working through some core principles, things to pay attention to. One of these ideas is that any gut feeling you might have about why your code is slow, is very often wrong. So we'll explore using diagnostic tools like profilers to find out where the problem truly is.
Once we know that, we'll see how to approach and treat multiple issues. Because our code might already be efficient with memory, but inefficient with its own internal processing, its own algorithms. Or the problem could be the other way around. I'll also discuss the very different options for improving web, desktop and mobile applications, and we'll cover the impact that your chosen language and environment has on what you can expect. And importantly, how to be efficient with your own development. To recognize where to spend your time, where the best improvements are possible, and also, when to realize if there's simply nothing to be gained from continually trying to optimize part of your application that just isn't worth it.
So let's get started.
Learn to choose the right data types, understand the pitfalls of using high-level languages, and decide where to spend your time. Plus, see how the underlying memory management model may have more of an impact than you realize, and what performance issues you can expect working with databases and web services.
- Identifying problems in the code
- Embracing constraints
- Using code analysis tools to measure performance
- Managing memory
- Managing disk-based and network resources