about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBen Harris <ben@tilde.team>2021-02-18 23:40:56 -0500
committerBen Harris <ben@tilde.team>2021-02-18 23:40:56 -0500
commitdc27ffe14af0b06f4a253e4ae1d213a67329e332 (patch)
tree6fa73e76894cd3358554239b9cde39ea3b113d11
parentaf049451872a4a79813226420da51be349f06070 (diff)
MASSIVE performance improvement
-rw-r--r--tracer.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/tracer.py b/tracer.py
index 2b385e3..cf93a03 100644
--- a/tracer.py
+++ b/tracer.py
@@ -58,9 +58,9 @@ def populate():
         if name.startswith(".") or ext not in (".json", ""):
             continue
         if p in DB:
-            DB[name].append(grammar(load_rules(p)))
+            DB[name].append(p)
         else:
-            DB[name] = [grammar(load_rules(p))]
+            DB[name] = [p]
 
 
 populate()
@@ -70,7 +70,7 @@ def generate(rule):
     populate()
     if rule in DB:
         g = random.choice(DB[rule])
-        return g.flatten("#origin#")
+        return grammar(load_rules(g)).flatten("#origin#")
 
 
 def listify(col):
@@ -94,7 +94,7 @@ def fuse(argv):
     raw = {}
     for gk in argv:
         if gk in DB:
-            g = random.choice(DB[gk]).raw
+            g = grammar(load_rules(random.choice(DB[gk]))).raw
             for k in g:
                 if k in raw:
                     raw[k] = listify(raw[k]) + listify(g[k])