From d5bff0a7391db90f29b3448bea9ae6f6e1187dca Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Wed, 13 Oct 2021 22:23:51 -0400 Subject: [PATCH] perf: nogil ops --- include/bh_python/register_histogram.hpp | 4 ++++ noxfile.py | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/include/bh_python/register_histogram.hpp b/include/bh_python/register_histogram.hpp index acd41b477..bf488ae24 100644 --- a/include/bh_python/register_histogram.hpp +++ b/include/bh_python/register_histogram.hpp @@ -173,6 +173,7 @@ auto register_histogram(py::module& m, const char* name, const char* desc) { .def( "sum", [](const histogram_t& self, bool flow) { + py::gil_scoped_release release; return bh::algorithm::sum( self, flow ? bh::coverage::all : bh::coverage::inner); }, @@ -181,6 +182,7 @@ auto register_histogram(py::module& m, const char* name, const char* desc) { .def( "empty", [](const histogram_t& self, bool flow) { + py::gil_scoped_release release; return bh::algorithm::empty( self, flow ? bh::coverage::all : bh::coverage::inner); }, @@ -188,12 +190,14 @@ auto register_histogram(py::module& m, const char* name, const char* desc) { .def("reduce", [](const histogram_t& self, py::args args) { + py::gil_scoped_release release; return bh::algorithm::reduce( self, py::cast>(args)); }) .def("project", [](const histogram_t& self, py::args values) { + py::gil_scoped_release release; return bh::algorithm::project(self, py::cast>(values)); }) diff --git a/noxfile.py b/noxfile.py index 31225c321..0a0206cb8 100644 --- a/noxfile.py +++ b/noxfile.py @@ -1,6 +1,6 @@ import nox -ALL_PYTHONS = ["3.6", "3.7", "3.8", "3.9"] +ALL_PYTHONS = ["3.6", "3.7", "3.8", "3.9", "3.10"] nox.options.sessions = ["lint", "tests"]