aboutsummaryrefslogtreecommitdiff
path: root/neb/std/sys.py
diff options
context:
space:
mode:
authormryouse2022-07-05 03:24:49 +0000
committermryouse2022-07-05 03:24:49 +0000
commit2402523aa84780447e3ce0a8109a14e1286665c8 (patch)
tree8bb4792c24154defbb046ca17a879bbb01da94b0 /neb/std/sys.py
parentdb0327ba8c9fae4a57f85f60e2f0bac438781b8e (diff)
parentcf0ae625ddc9076e0ca02079b8d461de22244998 (diff)
Merge branch 'master' into feature/listtypes
Diffstat (limited to 'neb/std/sys.py')
-rw-r--r--neb/std/sys.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/neb/std/sys.py b/neb/std/sys.py
index 61e83c2..3dc87e9 100644
--- a/neb/std/sys.py
+++ b/neb/std/sys.py
@@ -3,6 +3,7 @@ from ..structs import *
import shlex
import subprocess
import sys
+from datetime import datetime
SYS = Environment()
@@ -33,3 +34,12 @@ def interpretPrint(symbol, args, env, ns):
return List([]) # print returns nothing
SYS.register("print", Builtin("print", interpretPrint, [Arg("arg", TypeEnum.STRING)], return_type=Type(":list")))
+
+def interpretBench(symbol, args, env, ns):
+ before = datetime.now()
+ ret = evaluate(args[0], env, ns)
+ after = datetime.now()
+ print(f"bench [{symbol.line}]: {args[0]} => {after - before}")
+ return ret
+
+SYS.register("bench", Builtin("bench", interpretBench, [Arg("command", TypeEnum.ANY, lazy=True)], return_type=Type(":any")))