Julia High Performance 2/e
- Learn to code high reliability and high performance programs
- Stand out from the crowd by developing code that runs faster than your peers' codes
- Monitor the performance, Code Quality, & Resource Optimizations
Julia is a high-level, high-performance dynamic programming language for numerical computing. It was created to solve the dilemma between high-level slow code and fast but low-level code, and the necessity to use both to achieve high performance.
If you want to understand how to avoid bottlenecks, and design your program for the highest possible performance, then this book is for you.
Julia High Performance will take you on a journey to understand the performance characteristics of your Julia programs, and enables you to utilize the promise of near C levels of performance in Julia. In this book, you will also see how Julia uses type information to achieve its performance goals, and how to use multiple dispatches to help the compiler to emit high performance machine code. Numbers and their arrays are obviously the key structures in scientific computing - you will see how Julia's design makes them fast. Towards the end, you will get a taste of Julia's multithreading and distributed computing capabilities.
By the end, you will have the ability to build large scale high performance Julia applications, design systems with focus on speed, and improve performance of existing codebases.
What you will learn
- Understand how Julia code is transformed into machine code
- Learn the characteristics of high performance Julia code
- Measure the time and memory taken by Julia programs
- Create fast machine code using Julia's type information
- Define and call functions without compromising Julia's performance
- Understand number types in Julia
- Use Julia arrays to write high performance code
- Accelerate your code with the GPU
- Use Tasks and async IO for responsive programs
- Run Julia programs on large distributed cluster