From f8bac92548c213b1d76b1cf86a8fe9995deeeefc Mon Sep 17 00:00:00 2001 From: ValKmjolnir Date: Tue, 14 Mar 2023 00:16:54 +0800 Subject: [PATCH] :memo: update test file datalog.nas --- test/datalog.nas | 50 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/test/datalog.nas b/test/datalog.nas index eecf86a..2c5560c 100644 --- a/test/datalog.nas +++ b/test/datalog.nas @@ -97,6 +97,52 @@ var select=func(n) { println(rightpad(str(cnt),7)," in ",ts.elapsedMSec()/1000," s"); } +var cartesian=func(n) { + # get(x, y, z, a, b) :- color(x, y, z), message(a, b). + + var ts=maketimestamp(); + var bar=process_bar.high_resolution_bar(40); + + var color=[]; + var message=[]; + setsize(color,n); + setsize(message,n); + + var last_step=0; + ts.stamp(); + for(var i=0;i1/500) { + last_step=i; + print(" ",bar.bar((i+1)/n)," ",leftpad(str(int((i+1)/n*100)),3),"% | \r"); + } + } + print(" ",bar.bar(1)~" 100% | ",rightpad(str(ts.elapsedMSec()/1000),5)," s | "); + + mess(color); + mess(message); + + ts.stamp(); + + var res=[]; + foreach(var c;color) { + foreach(var m;message) { + var tmp=[]; + foreach(var k;c) { + append(tmp,k); + } + foreach(var k;m) { + append(tmp,k); + } + append(res,tmp); + } + } + + println(rightpad(str(size(res)),7)," in ",ts.elapsedMSec()/1000," s"); +} + println("project"); for(var i=10;i<1e6;i*=10) { project(i); @@ -104,4 +150,8 @@ for(var i=10;i<1e6;i*=10) { println("select"); for(var i=10;i<1e6;i*=10) { select(i); +} +println("cartesian"); +for(var i=100;i<600;i+=100) { + cartesian(i); } \ No newline at end of file