Book Image

Mastering IPython 4.0

By : Thomas Bitterman, Dipanjan Deb
Book Image

Mastering IPython 4.0

By: Thomas Bitterman, Dipanjan Deb

Overview of this book

IPython is an interactive computational environment in which you can combine code execution, rich text, mathematics, plots, and rich media. This book will get IPython developers up to date with the latest advancements in IPython and dive deep into interactive computing with IPython. This an advanced guide on interactive and parallel computing with IPython will explore advanced visualizations and high-performance computing with IPython in detail. You will quickly brush up your knowledge of IPython kernels and wrapper kernels, then we'?ll move to advanced concepts such as testing, Sphinx, JS events, interactive work, and the ZMQ cluster. The book will cover topics such as IPython Console Lexer, advanced configuration, and third-party tools. By the end of this book, you will be able to use IPython for interactive and parallel computing in a high-performance computing environment.
Table of Contents (18 chapters)
Mastering IPython 4.0
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
6
Works Well with Others – IPython and Third-Party Tools
Index

Performance profiling


Before optimizing a system, it is handy to know exactly which part is slow. IPython adds some specialized tools for this purpose, along with the tools that Python provides.

Using utils.timing

IPython provides a library called IPython.utils.timing to time code execution. The library can be useful as relatively lightweight calls to include in code. Here is an example:

In [64]: import IPython

In [65]: IPython.utils.timing.clocku()
Out[65]: 218.533777

In [67]: IPython.utils.timing.clocku()
Out[67]: 218.542776

This library distinguishes between two categories of time—user CPU time and system CPU time—as evidenced in the following functions:

Function

Description

clocku( )

Returns the user CPU time in seconds since the start of the process

clocks( )

Returns the system CPU time in seconds since the start of the process

clock( )

Returns the total (user + system) CPU time in seconds since the start of the process

clock2( )

Returns a tuple of user/system times

Another...