Julia High Performance

Packt Publishing Limited
  • 1. Auflage
  • |
  • erschienen am 26. April 2016
  • |
  • 132 Seiten
E-Book | ePUB mit Adobe DRM | Systemvoraussetzungen
978-1-78588-782-6 (ISBN)
Design and develop high performing programs with JuliaAbout This BookLearn to code high reliability and high performance programsStand out from the crowd by developing code that runs faster than your peers' codesThis book is intended for developers who are interested in high performance technical programming.Who This Book Is ForThis book is for beginner and intermediate Julia programmers who are interested in high performance technical computing. You will have a basic familiarity with Julia syntax, and have written some small programs in the language.What You Will LearnDiscover the secrets behind Julia's speedGet a sense of the possibilities and limitations of Julia's performanceAnalyze the performance of Julia programsMeasure the time and memory taken by Julia programsCreate fast machine code using Julia's type informationDefine and call functions without compromising Julia's performanceUnderstand number types in JuliaUse Julia arrays to write high performance codeGet an overview of Julia's distributed computing capabilitiesIn DetailJulia is a high performance, high-level dynamic language designed to address the requirements of high-level numerical and scientific computing. Julia brings solutions to the complexities faced by developers while developing elegant and high performing code.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.You will learn to analyze and measure the performance of Julia code, understand how to avoid bottlenecks, and design your program for the highest possible performance. In this book, you will also see how Julia uses type information to achieve its performance goals, and how to use multuple dispatch 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. The last chapter will give you a taste of Julia's distributed computing capabilities.Style and approachThis is a hands-on manual that will give you good explanations about the important concepts related to Julia programming.
  • Englisch
  • Birmingham
  • |
  • Großbritannien
978-1-78588-782-6 (9781785887826)
1785887823 (1785887823)
weitere Ausgaben werden ermittelt
Avik Sengupta has worked on risk and trading systems in investment banking for many years, mostly using Java interspersed with snippets of the exotic R and K languages. This experience left him wondering whether there were better things out there. Avik's quest came to a happy conclusion with the appearance of Julia in 2012. He has been happily coding in Julia and contributing to it ever since.
  • Cover
  • Copyright
  • Credits
  • About the Author
  • About the Reviewer
  • www.PacktPub.com
  • Table of Contents
  • Preface
  • Chapter 1: Julia is Fast
  • Julia - fast and dynamic
  • Designed for speed
  • JIT and LLVM
  • Types
  • How fast can Julia be?
  • Summary
  • Chapter 2: Analyzing Julia Performance
  • Timing Julia code
  • Tic and Toc
  • The @time macro
  • The @timev macro
  • The Julia profiler
  • Using the profiler
  • ProfileView
  • Analyzing memory allocation
  • Using the memory allocation tracker
  • Statistically accurate benchmarking
  • Using Benchmarks.jl
  • Summary
  • Chapter 3: Types in Julia
  • The Julia type system
  • Using types
  • Multiple dispatch
  • Abstract types
  • Julia's type hierarchy
  • Composite and immutable types
  • Type parameters
  • Type inference
  • Type-stability
  • Definitions
  • Fixing type-instability
  • Performance pitfalls
  • Identifying type-stability
  • Loop variables
  • Kernel methods
  • Types in storage locations
  • Arrays
  • Composite types
  • Parametric composite types
  • Summary
  • Chapter 4: Functions and Macros - Structuring Julia Code for High Performance
  • Using globals
  • The trouble with globals
  • Fixing performance issues with globals
  • Inlining
  • Default inlining
  • Controlling inlining
  • Disabling inlining
  • Closures and anonymous functions
  • FastAnonymous
  • Using macros for performance
  • The Julia compilation process
  • Using macros
  • Evaluating a polynomial
  • Horner's method
  • The Horner macro
  • Generated functions
  • Using generated functions
  • Using generated functions for performance
  • Using named parameters
  • Summary
  • Chapter 5: Fast Numbers
  • Numbers in Julia
  • Integers
  • Integer overflow
  • BigInt
  • The floating point
  • Unchecked conversions for unsigned integers
  • Trading performance for accuracy
  • The fastmath macro
  • The K-B-N summation
  • Subnormal numbers
  • Subnormal numbers to zero
  • Summary
  • Chapter 6: Fast Arrays
  • Array internals in Julia
  • Array representation and storage
  • Column-wise storage
  • Bound checking
  • Removing the cost of bound checking
  • Configuring bound checks at startup
  • Allocations and in-place operations
  • Preallocating function output
  • Mutating versions
  • Array views
  • SIMD parallelization
  • Yeppp!
  • Writing generic library functions with arrays
  • Summary
  • Chapter 7: Beyond the Single Processor
  • Parallelism in Julia
  • Starting a cluster
  • Communication between Julia processes
  • Programming parallel tasks
  • @everywhere
  • @spawn
  • Parallel for
  • Parallel map
  • Distributed arrays
  • Shared arrays
  • Threading
  • Summary
  • Index

Dateiformat: EPUB
Kopierschutz: Adobe-DRM (Digital Rights Management)


Computer (Windows; MacOS X; Linux): Installieren Sie bereits vor dem Download die kostenlose Software Adobe Digital Editions (siehe E-Book Hilfe).

Tablet/Smartphone (Android; iOS): Installieren Sie bereits vor dem Download die kostenlose App Adobe Digital Editions (siehe E-Book Hilfe).

E-Book-Reader: Bookeen, Kobo, Pocketbook, Sony, Tolino u.v.a.m. (nicht Kindle)

Das Dateiformat EPUB ist sehr gut für Romane und Sachbücher geeignet - also für "fließenden" Text ohne komplexes Layout. Bei E-Readern oder Smartphones passt sich der Zeilen- und Seitenumbruch automatisch den kleinen Displays an. Mit Adobe-DRM wird hier ein "harter" Kopierschutz verwendet. Wenn die notwendigen Voraussetzungen nicht vorliegen, können Sie das E-Book leider nicht öffnen. Daher müssen Sie bereits vor dem Download Ihre Lese-Hardware vorbereiten.

Weitere Informationen finden Sie in unserer E-Book Hilfe.

Download (sofort verfügbar)

28,05 €
inkl. 19% MwSt.
Download / Einzel-Lizenz
ePUB mit Adobe DRM
siehe Systemvoraussetzungen
E-Book bestellen

Unsere Web-Seiten verwenden Cookies. Mit der Nutzung dieser Web-Seiten erklären Sie sich damit einverstanden. Mehr Informationen finden Sie in unserem Datenschutzhinweis. Ok