For curious, several facts i noticed by running anaconda distributed shakti:
1) k7 implementation obviosly is completely different codebase from current kdb+. I ran the following query on kdb+ and k7
a1:1000000?1000000;b1:1000000?1000000;
\t select #a by b from (+`a`b!(a1;b1));
And difference seems to be in order of magnitude (k7 is 650 msec, kdb+ is 77 msec), also on k7, time increases for subsequent execution of same query ==> memory leak? Looks like it's very early stage.
2) null number (0N) and infinity are now represented as non-ascii symbols Ø and ∞, also parsed as such.
3) type operator (@) returns symbols (`i, `j) for ints and longs etc, was returning shorts before. Interesting how do we distinguish arrays/scalars now.
4) default numeric type (e.g. 12345) is now int, was long.
5) entering overflow numeric literal returns Ø, was throwing exception.
6) k in anaconda is not stripped 675K linux x64 executable, stripped is 220K, while kdb+ is 657K as sold.
> 3) type operator (@) returns symbols (`i, `j) for ints and longs etc, was returning shorts before. Interesting how do we distinguish arrays/scalars now.
this seems not to be in the spirit of language. Testing if type is array or not is so common, and adding this function (li, li2) to "standard library" would introduce "standard library". Maybe we overlooked some other obvious solution.
1) k7 implementation obviosly is completely different codebase from current kdb+. I ran the following query on kdb+ and k7
And difference seems to be in order of magnitude (k7 is 650 msec, kdb+ is 77 msec), also on k7, time increases for subsequent execution of same query ==> memory leak? Looks like it's very early stage.2) null number (0N) and infinity are now represented as non-ascii symbols Ø and ∞, also parsed as such.
3) type operator (@) returns symbols (`i, `j) for ints and longs etc, was returning shorts before. Interesting how do we distinguish arrays/scalars now.
4) default numeric type (e.g. 12345) is now int, was long.
5) entering overflow numeric literal returns Ø, was throwing exception.
6) k in anaconda is not stripped 675K linux x64 executable, stripped is 220K, while kdb+ is 657K as sold.