Programming Practices Performance

Software Practices, Software performance, Andahl’s law, Profiling, Optimization
Programming Practices Performance
File Size :
254.24 MB
Total length :
0h 52m



RougeNeuron Academy


Last update




Programming Practices Performance

What you’ll learn

Role of programming practices and coding standards in delivering high performance
Choosing battles to fix performance issues
Avoiding premature optimization
Writing human readable code that machines execute at optimal performance.

Programming Practices Performance


Basic programming knowledge in any programming language.


In this course, you’ll learn about the principles, techniques, and best practices to optimize your code’s performance. We’ll cover everything from Amdahl’s Law to performance engineering and optimization strategies, including measuring, profiling, and code tuning. By the end of the course, you’ll have a solid understanding of how to improve your code’s performance and ensure efficient resource utilization.Note: The content of this course is also published as part of an in-depth course titled “Programming Practices Bootcamp for production ready coding.”Course Outline:Course IntroductionImportance of performance optimization in programmingAmdahl’s Law and its implicationsPerformance Engineering ApproachPremature optimization vs. performance engineeringPrinciples of optimization and performance measurementEstablishing a baseline and picking your battlesTiming and ProfilingAutomated measurements and using profilersIdentifying hotspots and understanding the cost of profilingProfiling with external parametersStrategies for Speed OptimizationAppropriate algorithm selectionCompiler optimizationsCode tuning and targeted changesCode Tuning TechniquesCollecting common sub-expressionsChoosing cheaper alternativesLoop unrolling, caching, and dedicated allocatorsBuffering and handling special cases separatelyPrecomputing results and approximating valuesSpace Efficiency: Memory and StorageUnderstanding the trade-offs between space and performanceChoosing the right data types and complex data structuresBalancing storage and computationStoring data efficientlyBy the end of this course, you’ll have gained the skills and knowledge to analyze and improve the performance of your code. You’ll be able to apply various optimization techniques and strategies to ensure that your programs run efficiently and make the best use of available resources. Enroll now and start optimizing your code for better performance!


Section 1: Introduction

Lecture 1 Introduction

Section 2: Amdahl’s law

Lecture 2 The definition

Lecture 3 Basic premise

Lecture 4 Vertical Scaling: The tried and tested ad-hoc solution in cloud

Lecture 5 The Premature Optimization

Lecture 6 The performance engineering approach (recommended)

Section 3: Performance Overview

Lecture 7 Section introduction

Lecture 8 First principles of optimization

Lecture 9 Question the needs of optimization

Lecture 10 Pick your battles

Section 4: Basic steps of extracting performance

Lecture 11 Keep it simple

Lecture 12 Measure what matters

Lecture 13 Start with compiler options

Lecture 14 Assess Necessary changes first!

Lecture 15 Incremental changes

Lecture 16 Identify a baseline

Section 5: Basic guidelines for performance

Lecture 17 Introduction

Lecture 18 Repeat measurements before assuming the numbers are final

Lecture 19 Emulate processes for Testing

Lecture 20 Good design always pays off in the longer run

Section 6: Timing and profiling when working with performance

Lecture 21 Automate Measurements

Lecture 22 Use a profiler

Lecture 23 Identify hotspots

Lecture 24 Does profiling incur any cost?

Lecture 25 Do external parameters affect profiling?

Section 7: Strategy For Speed

Lecture 26 Does choice of algorithms affect performance?

Lecture 27 Role of compiler optimizations in performance

Lecture 28 Tuning code for performance

Lecture 29 Change only what matters

Section 8: Code Tuning

Lecture 30 Collect Common subexpressions

Lecture 31 Should one use cheaper alternative to sophiticated code?

Lecture 32 Loop unrolling

Lecture 33 Caching to the rescue

Lecture 34 Dedicated allocators

Lecture 35 Buffering for performance?

Lecture 36 Handling special cases

Lecture 37 Precomputing Results

Lecture 38 Does one always need precise values?

Section 9: Space Efficiency

Lecture 39 Memory and Storage scarcity?

Lecture 40 Role of appropriate Data type

Lecture 41 Storage compute tradeoff

Lecture 42 Complex data types

Lecture 43 Storing data efficiently

Section 10: Estimation

Lecture 44 Language model

Lecture 45 Operations like IO

Section 11: Conclusion

Lecture 46 [Bonus Lecture]

Beginner programmers,Early stage software professionals,Computer science students,Anyone who has recently learned a programming language

Course Information:

Udemy | English | 0h 52m | 254.24 MB
Created by: RougeNeuron Academy

You Can See More Courses in the Developer >> Greetings from

New Courses

Scroll to Top