from bu4.evaluation.proxy import antiproxy, eproxy from bu4.toolchain.readfile import readfile from bu4.toolchain.sync import sync from bu4.toolchain.synced import synced from bu4.utils import with_common_interface 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)