I am using pypy to run numerical integration calculations with the arbitrary precision library mpmath (http://mpmath.org). 

I am using pypy2-v6.0.0-osx64 and version 1.0 of mpmath (from github). I install mpmath with pypy and use the native (python only) version; I am not using the gmp backend.

I have noticed that sometimes seemingly small changes in my scripts result in big changes in runtime with pypy, and I was wondering if there were some jit options or settings I could change to improve things.  Following advice from the pypy website, I tried using vmprof to profile one of my scripts.

I installed vmprof into pypy using pip, starting with "pypy -m ensurepip".

First I tried to run one of my scripts with vmprof, which typically take <10 minutes to run, but it ran for a few hours and so I eventually killed it (it doesn't respond to ^C, so I have to put it into the background and kill it explicitly with the kill command).

Then I tried just a small test script like the following:

cat -> test.py
import mpmath as mp
print mp.pi
^D

This runs fine from pypy as:

$pypy test.py

>3.14159265358979



but running this same script using vmprof and pypy as


pypy -m vmprof -o output.log test.py


uses 4GB of ram, 100% processor, and if left running will generate a output.log file of growing size (so I kill it).


If I run the following:


cat -> test2.py

x = 3.14159

print x

^D


vmprof runs quickly and generates a small output.log file (~400kb). As an aside, if I try to use the --web option, it hangs on "Uploading to http://vmprof.com..."  If I try to go to this website in my browser there is an error page about bad gateway from Cloudflare.


I seem to be able to use mpmath with pypy just fine, but the combination of pypy, mpmath, and vmprof seems to not work.


Any suggestions?  I am not an experienced vmprof user.


Kris