From d7660bc1cee261d5b6152ff6c8e3aade352e4341 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Radek=20Hu=C5=A1ek?= <husek@iuuk.mff.cuni.cz>
Date: Wed, 15 Sep 2021 08:06:08 +0200
Subject: [PATCH] precalculate before forking

---
 graph_tools/misc.py | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/graph_tools/misc.py b/graph_tools/misc.py
index 1e66752..b3b8f04 100644
--- a/graph_tools/misc.py
+++ b/graph_tools/misc.py
@@ -175,6 +175,9 @@ def _init_():
       r, c = x
       return (r, c, edge_model_join(gadgets[r], gadgets[c]).eval(P, no_cache=True))
 
+    # cache results for gadgets
+    for g in gadgets: g.eval_gadget(P)
+
     it = parmap(worker, inp, nprocs=threads, in_order=False,
                 chunksize=100, out_chunksize=100)
     m = matrix(QQ, N, N, sparse=True)
-- 
GitLab