Building automatic inplace in python

When using data related python libraries (pandas, numpy, etc.) a lot of the functions accept an inplace parameter. By setting it to True, we change the source object without creating an additional copy, in some cases this can have a significant memory impact.

The true cost of linked lists

Linked lists are often overused in introductory algorithmics courses, due to a heavy focus on theorical complexities. Unfortunatly, in practice, computers are complex beasts. They don’t execute instructions sequentially 1 with the same cost 2. This means that a data structure with faster theorical complexities does not necessarily translate to a more efficient data structure in practice.

  1. See Instruction Level Paralelism or Out of Order Execution. 

  2. A typical load from memory is around 100 slower than a simple ADD

Toughts on testing an untested software

In the software engineering world testing is important, unfortunately in your career you may find yourself working on software that does not have automated tests.

Python Internals Serie : Int (Long) Object

In this article, we will read and discuss the implementation details of ints in CPython.

Python Internals Serie : Subprocess.Popen

The purpose of this serie is to review some parts of the CPython’s code.