diff options
| author | mryouse | 2022-07-04 01:36:45 +0000 | 
|---|---|---|
| committer | mryouse | 2022-07-04 01:36:45 +0000 | 
| commit | b9f8075cf0e07b7c5febc7d4a475ef5184514afa (patch) | |
| tree | 3428dc4799339166156d2802ec823d107458171c /neb/std/sys.py | |
| parent | e169e50e9d2ab5584e3b72ed069e7695a123e1e7 (diff) | |
implement bench function
Diffstat (limited to 'neb/std/sys.py')
| -rw-r--r-- | neb/std/sys.py | 10 | 
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"))) | 
