Python comparison - JIT, CUDA and DASK

Python has become the language of choice for data scientists and data analysts. It is easy to use with a lot analytical support libraries. Python programs aren't particularly fast. This has driven people to create a set of tools that help Python programs scale-up and scale-out. We can compare approaches with a simple program that I adapted to JIT, GPU and distributed computing. Demonstration Caveat Distributed computing works best when there are problems with lots of I/O that can be spread across workers. This program has no I/O and a high data transfer to computation ratio. GPUs have a high cost for data load and unload data with GPU memory. This means they work best when there is a significantly higher computation to data transfer ratio than this program has. Demonstration The sample Python program creates 10,000,00 3 variable rows that it then uses as inputs for 10,000,000 iterations of log(x)*log(y)*log(Z). The results are returned in a 10,000,000 long...