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¶
2015.06.01
New¶
- Many operations are now 10 times faster – performance of
avg … by, avg for types G H, sum G, grouping by G H. Alsodistinct/findfor G H. +/&/|/=<are 10-20x faster for GH,avgis a lot faster for GHIJ.+/Iwill give0Nion overflow.- 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 toeval(-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
http://host:port/.json?queryrequests. - Columns of nested enumerated syms with key
`symnow report asSin meta. - Splayed table count is now taken from first column in table. (Previously it was taken from the last column).
- Distributed
eachwill revert to localeachif.z.pdis not defined. - Added
.z.X, which provides the raw, unfiltered cmd line. - Added
.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
.z.wo/.z.wcinstead of.z.po/.z.pc.