Index
A
- accurate benchmarking / Statistically accurate benchmarking
- Ahead of Time (AOT) / JIT and LLVM
- allocations
- array internals
- about / Array internals in Julia
- representation / Array representation and storage
- storage / Array representation and storage
- column wise storage / Column-wise storage
- arrays
- used, for writing generic library functions / Writing generic library functions with arrays
- array views / Array views
B
- Benchmarks.jl
- using / Using Benchmarks.jl
- BigInt
- about / BigInt
- bounds checking
- about / Bound checking
- cost, removing / Removing the cost of bound checking
- configuration, at startup / Configuring bound checks at startup
C
- closures and anonymous functions
- about / Closures and anonymous functions
- FastAnonymous / FastAnonymous
- cluster managers
- reference link / Starting a cluster
- code specialization / Types
D
- distributed arrays
- about / Distributed arrays
- reference link / Distributed arrays
E
- @everywhere macro / @everywhere
F
- @fastmath macro / The fastmath macro
- flame graph / ProfileView
- floating point
- about / The floating point
- floating point operations per second (flops) / Evaluating a polynomial
- function output
- preallocating / Preallocating function output
G
- generated functions
- about / Generated functions
- using / Using generated functions
- using, for performance / Using generated functions for performance
- generic library functions
- writing, arrays used / Writing generic library functions with arrays
- globals
- using / Using globals
- issues / The trouble with globals
- performance issues, fixing with / Fixing performance issues with globals
I
- in-place operations
- inlining
- about / Inlining
- default inlining / Default inlining
- controlling / Controlling inlining
- disabling / Disabling inlining
- integers
- about / Integers
- overflow / Integer overflow
- Intermediate Representation (IR) / JIT and LLVM
J
- JIT Compiling / The @time macro
- Julia
- advantages / Julia – fast and dynamic
- versions / Julia – fast and dynamic
- speed / Designed for speed
- reference link / Designed for speed, How fast can Julia be?
- Low Level Virtual Machine (LLVM) / JIT and LLVM
- Just In Time (JIT) compiled language / JIT and LLVM
- types / Types
- performance speed / How fast can Julia be?
- type system / The Julia type system
- numbers / Numbers in Julia
- array internals / Array internals in Julia
- parallelism / Parallelism in Julia
- Julia code
- timing / Timing Julia code
- tic() function / Tic and Toc
- toc() function / Tic and Toc
- @time macro / The @time macro
- @timev macro / The @timev macro
- Julia profiler
- about / The Julia profiler
- using / Using the profiler
- ProfileView / ProfileView
- Just In Time (JIT) / JIT and LLVM
K
- K-B-N summation / The K-B-N summation
- kernel methods
- about / Kernel methods
L
- linear indexing / Writing generic library functions with arrays
- Low Level Virtual Machine (LLVM)
- reference link / JIT and LLVM
M
- macros, for performance
- using / Using macros for performance, Using macros
- Julia compilation process / The Julia compilation process
- polynomial, evaluating / Evaluating a polynomial
- Horner's method / Horner's method
- Horner macro / The Horner macro
- memory allocation
- analyzing / Analyzing memory allocation
- tracker, using / Using the memory allocation tracker
N
- named parameters
- using / Using named parameters
- numbers
- about / Numbers in Julia
- integers / Integers
- integer overflow / Integer overflow
- BigInt / BigInt
- floating point / The floating point
- unchecked conversions, for unsigned integers / Unchecked conversions for unsigned integers
P
- parallel for loop / Parallel for
- parallelism
- about / Parallelism in Julia
- cluster, starting / Starting a cluster
- communication, between Julia processes / Communication between Julia processes
- parallel map / Parallel map
- parallel tasks
- programming / Programming parallel tasks
- parallel tasks, programming
- about / Programming parallel tasks
- @everywhere macro, using / @everywhere
- @spawn macro, using / @spawn
- parallel for loop / Parallel for
- parallel map / Parallel map
- distributed arrays / Distributed arrays
- performance
- trading, for accuracy / Trading performance for accuracy
- @fastmath macro / The fastmath macro
- fastmath macro / The fastmath macro
- K-B-N summation / The K-B-N summation
R
- Read Eval Print Load (REPL) / Tic and Toc
- remote calls / Communication between Julia processes
- remote references / Communication between Julia processes
S
- @spawn macro / @spawn
- sampling profiler / The Julia profiler
- Secure Shell (SSH) / Starting a cluster
- shared arrays
- about / Shared arrays
- threading / Threading
- Single Instruction Multiple Data (SIMD)
- about / Array representation and storage
- parallelization / SIMD parallelization
- sqrt function / Types
- storage locations
- defining / Types in storage locations
- arrays / Arrays
- composite types / Composite types
- parametric composite types / Parametric composite types
- subnormal numbers (denormal)
- about / Subnormal numbers
- reference link / Subnormal numbers
- treating, as zero / Subnormal numbers to zero
T
- @time macro / The @time macro
- @timev macro / The @timev macro
- tic() function / Tic and Toc
- toc() function / Tic and Toc
- type-stability
- about / Type-stability
- definitions / Definitions
- fixing / Fixing type-instability
- performance pitfalls / Performance pitfalls
- identifying / Identifying type-stability
- loop variables / Loop variables
- type inference / Types
- type parameters / Array representation and storage
- type system, Julia
- about / The Julia type system
- types, using / Using types
- multiple dispatch / Multiple dispatch
- abstract types / Abstract types
- type hierarchy / Julia's type hierarchy
- composite types / Composite and immutable types
- type parameters / Type parameters
- type inference / Type inference
- online documentation / Type inference
U
- unsigned integers
V
- versions
- mutating / Mutating versions