aboutsummaryrefslogtreecommitdiff
path: root/hittekaart-py/src
diff options
context:
space:
mode:
authorDaniel Schadt <kingdread@gmx.de>2025-07-28 22:05:36 +0200
committerDaniel Schadt <kingdread@gmx.de>2025-07-28 22:05:36 +0200
commitc0c95e4bc5f50929499f0070ab79801ea9f52218 (patch)
tree97e02bd7fdd099ea68dafc001e72647917bc4374 /hittekaart-py/src
parentd839b9b7950c949eaddb967495f533e99a8dcafb (diff)
downloadhittekaart-c0c95e4bc5f50929499f0070ab79801ea9f52218.tar.gz
hittekaart-c0c95e4bc5f50929499f0070ab79801ea9f52218.tar.bz2
hittekaart-c0c95e4bc5f50929499f0070ab79801ea9f52218.zip
expose function to set thread count
Diffstat (limited to 'hittekaart-py/src')
-rw-r--r--hittekaart-py/src/lib.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/hittekaart-py/src/lib.rs b/hittekaart-py/src/lib.rs
index 4b67777..2ad0e56 100644
--- a/hittekaart-py/src/lib.rs
+++ b/hittekaart-py/src/lib.rs
@@ -164,6 +164,14 @@ fn do_generate<R: Renderer>(
Ok(())
}
+#[pyfunction]
+fn set_threads(threads: usize) -> PyResult<()> {
+ rayon::ThreadPoolBuilder::new()
+ .num_threads(threads)
+ .build_global()
+ .map_err(|e| err_to_py(&e))
+}
+
/// A Python module implemented in Rust.
#[pymodule]
fn hittekaart_py(py: Python<'_>, m: &Bound<'_, PyModule>) -> PyResult<()> {
@@ -171,6 +179,7 @@ fn hittekaart_py(py: Python<'_>, m: &Bound<'_, PyModule>) -> PyResult<()> {
m.add_class::<HeatmapRenderer>()?;
m.add_class::<Storage>()?;
m.add_function(wrap_pyfunction!(generate, m)?)?;
+ m.add_function(wrap_pyfunction!(set_threads, m)?)?;
m.add("HitteError", py.get_type::<HitteError>())?;
Ok(())
}