Index
A
- Anaconda Python distribution
- URL / Installing pandas
- appDirs
- URL / Installing Parakeet
B
- Big O notation
- about / Running time complexity
C
- code optimization
- about / How to choose the right option
- with Cython / When to go with Cython
- with PyPy / When to go with PyPy
- Compute Unified Device Architecture (CUDA)
- from Nvidia, URL / Multithreading
- configuration, Numba
- No GIL / No GIL
- NoPython mode / NoPython mode
- constant time - O(1)
- about / Constant time – O(1)
- cProfile
- URL / Getting to know our new best friends: the profilers
- about / Getting to know our new best friends: the profilers, cProfile
- example / cProfile
- limitations / A note about limitations
- API / The API provided
- methods, using / The API provided
- Stats class / The Stats class
- Fibonacci example / Fibonacci again
- Tweet stats example / Tweet stats
- cStringIO
- ctypes library
- about / ctypes
- URL / ctypes
- custom C library, loading / Loading your own custom C library
- system library, loading / Loading a system library
- CUDA programming
- URL / Running your code on the GPU
- about / Running your code on the GPU
- Cython
- about / Cython
- URL / Cython, Installing Cython
- installing / Installing Cython
- C functions, calling / Calling C functions
- naming conflicts, solving / Solving naming conflicts
- types, defining / Defining types
- standard Python functions, defining / Defining types during function definitions
- C functions, defining / Defining types during function definitions
- function types, defining / Defining types during function definitions
- example / A Cython example
- type definition, considerations / When to define a type
- limitations / Limitations
- considerations / When to go with Cython
- Cython, limitations
- generator expressions / Generator expressions
- comparison of char* literals / Comparison of char* literals
- tuples, as function arguments / Tuples as function arguments
- stack frames / Stack frames
- Cython module
- building / Building a Cython module
- definition files / Building a Cython module
- implementation files / Building a Cython module
- reference link / Building a Cython module
D
- data analysis
- with pandas / Using pandas for data analysis
- default arguments
- about / Usage of default arguments
- definition files
- about / Building a Cython module
- deterministic profiler
- about / cProfile
- dsltools
- URL / Installing Parakeet
E
- event-based profilers
- about / Event-based profiling
- event-based profiling
- about / Event-based profiling
- programming language support / Event-based profiling
- events
- about / Events
- execution time
- profiling / Execution time
F
- factorial time - O(n!)
- about / Factorial time – O(n!)
- first in first out (FIFO) / Interprocess communication
G
- generators
- Global Interpreter Lock (GIL)
- about / Multithreading
- GPU
- code, executing / Running your code on the GPU
I
- implementation files
- about / Building a Cython module
- initial code base
- about / The initial code base
- analysing / Analyzing the code
- scraper / Scraper
- for analyzer script / Analyzer
- inverted index
- URL / Inverted index
- creating, with line_profiler / Inverted index
- about / Inverted index
- getOffsetUpToWord function, using / getOffsetUpToWord, getOffsetUpToWord
- getWords function, using / getWords, getWords
- list2dict function, using / list2dict, list2dict
- readFileContent function, using / readFileContent
- saveIndex function, using / saveIndex, saveIndex
- __start__ method, using / __start__
- issues
- solving / The problem to solve
- data, getting from Web / Getting data from the Web
- data, postprocessing / Postprocessing the data
J
- Just-in-time (JIT) compiler
- about / PyPy
- using / A Just-in-time compiler
- optimizing / Optimizing for the JIT
- functions, using / Think of functions
- cStringIO, using / Consider using cStringIO to concatenate strings
- disabling / Actions that disable the JIT
- JVM Tools Interface (JVMTI)
- about / Event-based profiling
K
- KCacheGrind
- about / KCacheGrind – pyprof2calltree
- TweetStats example / A profiling example – TweetStats
- inverted index example / A profiling example – Inverted Index
- kernprof
- about / kernprof
- using / kernprof
- considerations / Some things to consider about kernprof
- Fibonacci example / Back to Fibonacci
L
- linearithmic time - O(nlog n)
- about / Linearithmic time – O(nlog n)
- linear time - O(n)
- about / Linear time – O(n)
- line_profiler
- about / Getting to know our new best friends: the profilers, line_profiler
- URL / Getting to know our new best friends: the profilers
- installing / line_profiler
- kernprof, using / line_profiler
- using / line_profiler
- kernprof / kernprof
- Fibonacci example / Back to Fibonacci
- inverted index, creating / Inverted index
- list comprehension
- logarithmic time - O(log n)
- about / Logarithmic time – O(log n)
- lookup tables
- about / Memoization / lookup tables
- on list / Performing a lookup on a list or linked list
- on linked list / Performing a lookup on a list or linked list
- on dictionary / Simple lookup on a dictionary
- binary search / Binary search
- use cases / Use cases for lookup tables
- lsprofcalltree.py tool
M
- matplotlib
- memory consumption
- memory leaks
- miniconda
- about / Installation
- URL / Installation
- multiprocessing
- benefits / Multithreading
- about / Multiprocessing
- advantages / Multiprocessing
- disadvantages / Multiprocessing
- multiprocessing, with Python
- URL / Multiprocessing with Python
- about / Multiprocessing with Python
- exit status / Exit status
- process pooling / Process pooling
- interprocess communication / Interprocess communication
- pipes / Pipes
- events / Events
- multithreading
- about / Multithreading
- drawbacks / Multithreading
N
- namedtuples
- URL / Other tips and tricks
- Natural Language Processing (NLP) / Postprocessing the data
- nfl sort
- versus stdname sort / The Stats class
- NLTK
- URL / Postprocessing the data
- Numba
- about / Numba
- URL / Numba
- installing / Installation
- using / Using Numba
- code generation / Numba's code generation
- compilation / Eager compilation
- configuration settings / Other configuration settings
- code, executing in GPU / Running your code on the GPU
- reference link / Running your code on the GPU
- NumPy
- URL / Installing Parakeet
O
- OCaml
- URL / Multithreading
- OpenCL
- from Khronos Group, URL / Multithreading
- OProfile
- URL / Statistical profiling
- optimization
- tips / Other tips and tricks
- tricks / Other tips and tricks
P
- pandas
- about / The pandas tool
- URL / The pandas tool
- installing / Installing pandas
- used, for data analysis / Using pandas for data analysis
- Parakeet
- about / Parakeet
- features / Parakeet
- installing / Installing Parakeet
- URL / Installing Parakeet
- working with / How does Parakeet work?
- parallelism
- versus concurrency / Parallelism versus concurrency
- pip
- URL / Installation
- pip command-line tool / Getting data from the Web
- pipes
- premature optimization
- profilers
- profiling
- about / What is profiling?
- event-based profiling / Event-based profiling
- statistical profiling / Statistical profiling
- importance / The importance of profiling
- measuring / What can we profile?
- execution time / Execution time
- bottlenecks / Where are the bottlenecks?
- best practices / Profiling best practices
- profiling, best practices
- regression-test suite, building / Build a regression-test suite
- functional code / Mind your code
- be patient / Be patient
- data, gathering / Gather as much data as you can
- data, preprocessing / Preprocess your data
- data, visualizing / Visualize your data
- pyprof2calltree
- about / KCacheGrind – pyprof2calltree
- installation / Installation
- usage / Usage
- TweetStats example / A profiling example – TweetStats
- inverted index example / A profiling example – Inverted Index
- PyPy
- about / PyPy
- URL / PyPy
- features / PyPy
- Just-in-time (JIT) compiler / A Just-in-time compiler
- sandboxing / Sandboxing
- code sample / Code sample
- considerations / When to go with PyPy
- PyPy
- installing / Installing PyPy
Q
- QCacheGrind
- installing / Installation
- URL / Installation
- quadratic time - O(n^)
- about / Quadratic time – O(n^)
R
- read-eval-print loop(REPL)
- about / Usage
- RTC
- about / Running time complexity
- constant time - O(1) / Constant time – O(1)
- linear time - O(n) / Linear time – O(n)
- logarithmic time - O(log n) / Logarithmic time – O(log n)
- linearithmic time - O(nlog n) / Linearithmic time – O(nlog n)
- factorial time - O(n!) / Factorial time – O(n!)
- quadratic time - O(n^) / Quadratic time – O(n^)
- RunSnakeRun
- about / RunSnakeRun
- features / RunSnakeRun
- installation / Installation
- usage / Usage
- lowest common multiplier, obtaining / Profiling examples – the lowest common multiplier
- word, searching inside inverted index / A profiling example – search using the inverted index
S
- sandboxing
- about / Sandboxing
- Science Fiction & Fantasy
- statistical profiling
- about / Statistical profiling
- advantages / Statistical profiling
- Stats class
- about / The Stats class
- methods / The Stats class
- sorting criteria / The Stats class
- example / The Stats class
- stdname sort
- versus nfl sort / The Stats class
- string concatenation
- about / String concatenation
T
- threading module
- working with / Working with the threading module
- thread class, URL / Working with the threading module
- event construct, URL / Interthread communication with events
- thread module
- used, for creating threads / Creating a thread with the thread module
- URL / Creating a thread with the thread module
- threads
- about / Threads
- in Python / Threads
- thread module / Threads
- threading module / Threads
- creating, thread module used / Creating a thread with the thread module
- interthread communication, with events / Interthread communication with events
- tracing profilers
- about / Event-based profiling
W
- wxPython
- URL / Installation