builtup4/main.py
2021-07-24 16:40:16 +03:00

64 lines
2.0 KiB
Python

# Copyright (c) PARRRATE T&V 2021. All rights reserved.
import random
from bu4.common_interface import with_common_interface
from bu4.evaluation.constructs.proxy import antiproxy, eproxy
from bu4.evaluation.sync import sync
from bu4.evaluation.synced import synced
from bu4.parsing.toolchain.readfile import readfile
from timesample import TimeSample
with TimeSample(' compilation'):
sys0 = synced(readfile('src/sys0'))
with TimeSample(' first, AP'):
print(
antiproxy(sys0)(0)(1)(
lambda a: lambda b: a + b
)(
lambda n: lambda x: lambda y: x if n == 0 else y
)(
lambda n: lambda x: lambda y: x if n & 1 else y
)(
lambda n: n >> 1
)
)
with TimeSample(' second, AP'):
print(
antiproxy(sys0)(0)(1)(
lambda a: lambda b: a + b
)(
lambda n: lambda x: lambda y: x if n == 0 else y
)(
lambda n: lambda x: lambda y: x if n & 1 else y
)(
lambda n: n >> 1
)
)
with TimeSample(' third, EP'):
sys0 = with_common_interface(sys0)
print(sys0)
with TimeSample(' sys2'):
with TimeSample(' compilation'):
sys2c = synced(readfile('src/sys2'))
with TimeSample(' runtime'):
sys2 = sys2c
sys2 = with_common_interface(sys2)
print(sys2)
with TimeSample(' runtime'):
sys2 = sys2c
sys2 = with_common_interface(sys2)
print(sys2)
with TimeSample(' full'):
sys3 = with_common_interface(synced(readfile('src/sys3')))
sys3 = sync(sys3.call(eproxy(5)))
print(sys3)
with TimeSample(' full'):
sys1 = with_common_interface(synced(readfile('src/sys1')))
a_ = random.randrange(2 ** 64)
b_ = random.randrange(2 ** 64)
sys1 = sync(sys1.call(eproxy(a_)))
sys1 = sync(sys1.call(eproxy(b_)))
print(sys1, b_ % a_)
with TimeSample(' full'):
print(with_common_interface(synced(readfile('src/sys4'))))