OP2/PyOP2 — pull request #336 by wence- (2014-03-22 18:02:22+00:00)
Title: Compiler

As Doru's investigation showed us. Debugging performance problems due to bad compilation via instant can be a little tricky. It turns out we really don't need all the machinery that instant gives us, so implement compilation/caching by hand. We build a shared library then load it via ctypes. This speeds up compilation quite a bit (no more swigging) and as a bonus we get compilation on only one process. Specification of all compile flags is now completely explicit.

We still have a soft dependency on instant (via ffc) which I have left in so that travis/tox are happy. When the ffc interface is removed those can go too.

To set the directory in which the compiler caches its files, you need to set PYOP2_CACHE_DIR (it defaults to somewhere in $TMP).