|
|
|
|
|
by SEJeff
3661 days ago
|
|
Yeah kdb is built so that the entire core of the db fits in L1 CPU cache. It really is an impressive feat of engineering and optimization. I did hate it when we used it however. It required more or less a team of people doing querying on it fulltime. Have you seen the queries in Q? It looks like someone set the baud speed wrong on a serial connection: From wikipedia's page on Q (the query language of kdb): The factorial function can be implemented directly in Q as
{prd 1+til x}
or recursively as
{$[x=0;1;x*.z.s[x-1]]}
|
|
I don't know Q, but I'd guess you read it right-to-left like J/K/APL. `x` is the right argument (in J it's `y`), so if we were to call `factorial 5`:
1. Create an array of [0,x) | 0, 1, 2, 3, 4
2. Add 1 to each element of the array | 1, 2, 3, 4, 5
3. Fold the array with multiplication | 120
Array languages are super elegant and fun once you use them a bit.