summaryrefslogtreecommitdiffstats
path: root/library/cpp/yt/misc/unittests
Commit message (Collapse)AuthorAgeFilesLines
* [yt] make SplitMix & HashCombine bit-independentvasko2026-03-051-2/+2
| | | | | add realization of hash-functions for 32-bit platforms commit_hash:3247a0524d3b66d759bf5ebd598be84c8dfb5837
* YT-27436 Introduce PP_IS_EMPTYdann2392026-02-181-0/+13
| | | | commit_hash:96d6c16b241e44c6cd7910b16864fd0d037c6e8b
* YT-27167: Better TBitwiseUnversionedValueHashpavook2026-02-111-0/+8
| | | | | | | | | | | | | | | +20-30% throughput on UpdateColumnarStatistics benchmark (with large statistics enabled) - Do not factor in value.Id when calculating column digest - Pack metadata directly instead of multiple HashCombine calls - Use SplitMix64 finalizer for proper bit distribution - Use cheaper xor with metadata instead of HashCombine - Use XXH3 for strings - Remove unnecessary copy - Measured quality increased: on 20 (c=1..20) sequences `{nc | n \in [1..10^6]}` MAE dropped from ~36% to ~20% HLL digests might temporarily suffer a 2x increase upon merging with the previously computed ones. commit_hash:0bf661245cf1848ba9ef8b6c840c18dfd05bd2a4
* YT-27244: range helpers move to librarypanesher2026-02-052-0/+128
| | | | commit_hash:f257ebdacfbf0549a0f55cc37df2c059629bac3a
* YT-19137: Make full_read a first class citizencoteeq2025-08-181-1/+13
| | | | commit_hash:dac730c0d9dc052edce7dd7873c51687ea19082e
* YT: Allow serializing and deserializing plain enums to uint64dgolear2025-03-061-1/+20
| | | | commit_hash:abf11126ef1a914939d506a79dd7c4f11df177f2
* Intermediate changesrobot-piglet2024-12-244-0/+58
| | | | commit_hash:41c16027e2f796197b98307419a63da9fa3f1a88
* Fix various issuespogorelov2024-12-062-105/+0
| | | | commit_hash:50f729d3716d8b1f5b852cfc008e228172fb79c4
* YT-22885: Handle unknown values in (Try)CheckedEnumCastbabenko2024-11-161-0/+49
| | | | commit_hash:5ce8019253cdb971d1af36350e3efa3a4ec8545c
* Intermediate changesrobot-piglet2024-11-082-2/+4
| | | | commit_hash:17dbd6d7e5fc440afa2d816e245a73e25135bfb5
* YT-21233: Rewrite ConvertTo CPO using TagInvokearkady-e1ppa2024-11-083-0/+179
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Plan: 1) Remove `IAttributedDictionary` type from the public API. \+ 2) Remove `Set` method from public API in favor of `operator<<=`. \+ 3) Adopt `ConvertTo<T>` (or other name) CPO with proper extension into `NYT::NYson::ConvertTo` from `yt/core`. 4) Use CPO from (3) to eliminate direct dependency on `yt/core` of `Get/Find` methods from attributes API. 5) Adopt `ConvertToYsonString` (or other name) CPO with proper extension into `yt/core` customisations. 6) Use CPO from (5) to eliminate direct dependency on `yt/core` of `TErrorAttribute` ctor. 7) Swap attributes implementation to the one which doesn’t use `IAttributeDictionary`. 8) At this point `stripped_error*` can be moved to library/cpp/yt and so can recursively dependant on THROW macro methods `Get/Find/…`. 9) Adjust CPO’s to work with `std::string` instead of `TYsonString` assuming text format to be used (maybe `TString` for now). 10) Remove dep of `library/cpp/yt/error` on `yson` entirely. This pr addresses 3-4 steps of plan. Below is a brief explanation of design decisions. We want to have a concept which detects if there is a `ConvertTo` method and if true, try calling it. Templates can only perform unqualified name lookup and if we allow non-ADL overloads to be found, we would have dependency on inclusion order (if `ConvertTo` is included prior to our code, everything works fine, but if the order is reverse, templated dispatch would fail, but direct call would work just fine). That is why we adopt niebloids which first disable ADL lookup of the name `ConvertTo` by directing it to niebloid implemented via `TagInvoke` mechanism. TagInvoke design <https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1895r0.pdf> . TL;DR: we want to have behavior which is consistent with inclusion order. Key difference now is that `ConvertTo` works consistently in both manual calls and template function body calls and is no longer visible for ADL part of the unqualified name lookup commit_hash:32af641bd0af559bfe670c2ceb36721fb4afc2dd
* NaN-safe comparison and hashingbabenko2024-11-063-0/+83
| | | | commit_hash:46d59ab3acbd313753d3e46f3a6f10a8ebc424d8
* YT-22885: Refactor checked castsbabenko2024-11-033-25/+59
| | | | commit_hash:7f7600d332c3ddb5c8372e921bcba3b4fbed68f8
* Add GetAllSetValue and IsKnownValuebabenko2024-10-271-0/+16
| | | | commit_hash:cbc39112d8384b8c4bcd2410f0a203466b400c10
* YT-22885: DEFINE_ENUM_UNKNOWN_VALUE, string-related conversionsbabenko2024-10-261-0/+13
| | | | commit_hash:14c7e42422af750383f04855b4a7ea6b267b92d2
* Intermediate changesrobot-piglet2024-09-181-11/+13
| | | | commit_hash:3ef81205ed4cf9360829f834baa07c2fbf69b999
* Intermediate changesrobot-piglet2024-09-032-0/+103
|
* Move enum_indexed_array from misc to containersbabenko2024-01-292-46/+0
|
* Introduce TEnumIndexedArray as a refurbished version of TEnumIndexedVectorbabenko2024-01-252-0/+46
|
* Library import 8 (#1074)AlexSm2024-01-181-2/+2
| | | | | * Library import 8 * Add contrib/libs/cxxsupp/libcxx/include/__verbose_abort
* Library import 7 (#937)AlexSm2024-01-112-0/+65
|
* More TGuid helpersbabenko2023-11-251-1/+30
|
* YTORM-214: Add unittests for pr-4688904kmokrov2023-10-271-0/+31
|
* add ymake export to ydbalexv-smirnov2023-06-131-0/+15
|
* Revert ymake build from ydb oss exportalexv-smirnov2023-03-281-15/+0
|
* add library/cpp/actors, ymake build to ydb oss exportalexv-smirnov2023-03-151-0/+15
|
* YT-18571: Refactor YT enums to make them Arcadia-friendlybabenko2023-03-141-13/+5
|
* YT: Allow to define enum with custom string represenationbulatman2023-03-101-0/+14
|
* Introduce PP_DEPARENbabenko2022-10-271-0/+8
|
* intermediate changesarcadia-devtools2022-03-161-39/+0
| | | | ref:38a8ea5b493bef3b2e624055e6a04d33164137a9
* intermediate changesarcadia-devtools2022-03-151-16/+0
| | | | ref:ca7a95e8c9a9d780f96497136a152091d54e61b5
* intermediate changesarcadia-devtools2022-02-252-0/+40
| | | | ref:e3f00ef4e6dea6578b7e9ead4e6c020e1e259495
* Restoring authorship annotation for <[email protected]>. Commit 2 of 2.babenko2022-02-104-381/+381
|
* Restoring authorship annotation for <[email protected]>. Commit 1 of 2.babenko2022-02-104-381/+381
|
* Restoring authorship annotation for <[email protected]>. Commit 2 of 2.ignat2022-02-103-6/+6
|
* Restoring authorship annotation for <[email protected]>. Commit 1 of 2.ignat2022-02-103-6/+6
|
* intermediate changesDevtools Arcadia2022-02-074-0/+387
ref:cde9a383711a11544ce7e107a78147fb96cc4029