Changes in 3.3
Below is a summary of changes from V3.2. Commercially-licensed users may obtain the detailed change list / release notes from downloads.kx.com
Production release date
- Many operations are now 10 times faster – performance of
avg … by, avg for types G H, sum G, grouping by G H. Also
findfor G H.
<are 10-20x faster for GH,
avgis a lot faster for GHIJ.
- Faster and stricter JSON parser. It is approx 50-100x faster and can process Unicode.
`gattr can (again) be created in threads other than main thread. In V3.2, we removed the limit on number of concurrent vectors which can have
`gattr, and a side-effect was that
`gattr could be created on the main thread only. That restriction has now been removed.
- Read-only eval of parse tree. The new keyword
reval, backed by
-24!, behaves similarly to
-6!), but evaluates the parse tree in read-only mode, as if the cmd line option
-bwere active for the duration of the reval call. This should prove useful for access control.
- Improve performance of on-disk sort for un-cached splayed tables.
- Allow processing of
- Columns of nested enumerated syms with key
`symnow report as
- Splayed table count is now taken from first column in table. (Previously it was taken from the last column).
eachwill revert to local
.z.pdis not defined.
.z.X, which provides the raw, unfiltered cmd line.
.Q.Xfto write empty nested files.
.Q.idnow handles columns that start with a numeric character.
Not upwardly compatible
revalis now a reserved word.
- SSE-enabled builds (v64,l64,m64) now require SSE4.2
- WebSocket open/close callbacks are now via