Skip to content

Cleaning up Cython directives applied both globally and locally

finesse importer requested to merge refactor/cython_directive_cleanup into master

Closes #259 (closed)

This MR cleans up some of the Cython directives applied both on a per-file basis and as a global setting. Currently the linetrace directive is applied globally leading to profiling overhead on each function call. This is something which should instead be done only when building in a "debug" or "coverage" (see pipeline) mode.

One of the main things this MR now does is to clean up and improve the extension building process in setup.py. There are now debug and coverage targets in the Makefile for building Finesse in these modes; the former enables profiling globally, whilst the latter enables line tracing required for coverage reports. In addition, it is now easier to pass any optional extension args for specific Cython extensions in setup.py --- see the changes in this file for details.

Edited by finesse importer

Merge request reports