<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ydb/util, branch CLI_2.24.0</title>
<subtitle>Mirror of YDB github repos</subtitle>
<id>https://code.mastervirt.ru/ydb/atom?h=CLI_2.24.0</id>
<link rel='self' href='https://code.mastervirt.ru/ydb/atom?h=CLI_2.24.0'/>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/'/>
<updated>2025-07-10T17:03:28Z</updated>
<entry>
<title>port util to freebsd, again</title>
<updated>2025-07-10T17:03:28Z</updated>
<author>
<name>pg</name>
<email>pg@yandex-team.com</email>
</author>
<published>2025-07-10T16:07:07Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=43cc41b23a0aaae6d5d1403873c0b1debb16fb3c'/>
<id>urn:sha1:43cc41b23a0aaae6d5d1403873c0b1debb16fb3c</id>
<content type='text'>
```
[pg@arc ~]$ ./util-ut
&lt;----- TSaveLoadTest
[exec] TSaveLoadTest::TestSaveLoad...
[good] TSaveLoadTest::TestSaveLoad
[exec] TSaveLoadTest::TestSaveLoadEmptyStruct...
[good] TSaveLoadTest::TestSaveLoadEmptyStruct
[exec] TSaveLoadTest::TestNewStyle...
[good] TSaveLoadTest::TestNewStyle
[exec] TSaveLoadTest::TestNewNewStyle...
[good] TSaveLoadTest::TestNewNewStyle
[exec] TSaveLoadTest::TestList...
[good] TSaveLoadTest::TestList
[exec] TSaveLoadTest::TestTuple...
[good] TSaveLoadTest::TestTuple
[exec] TSaveLoadTest::TestVariant...
[good] TSaveLoadTest::TestVariant
[exec] TSaveLoadTest::TestOptional...
[good] TSaveLoadTest::TestOptional
[exec] TSaveLoadTest::TestInheritNonVirtualClass...
[good] TSaveLoadTest::TestInheritNonVirtualClass
[exec] TSaveLoadTest::TestInheritVirtualClass...
[good] TSaveLoadTest::TestInheritVirtualClass
-----&gt; TSaveLoadTest -&gt; ok: 10
[DONE] ok: 10
[pg@arc ~]$ uname -a
FreeBSD arc.freebsd.devtools 14.2-RELEASE-p1 FreeBSD 14.2-RELEASE-p1 GENERIC amd64
[pg@arc ~]$
```
commit_hash:229d8aa6c8ccce1376d152a833fe8bf7c5faa3bd
</content>
</entry>
<entry>
<title>Fix Y_NO_UNIQUE_ADDRESS</title>
<updated>2025-07-09T15:20:21Z</updated>
<author>
<name>ludaludaed</name>
<email>ludaludaed@yandex-team.com</email>
</author>
<published>2025-07-09T15:01:08Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=8dfd8a36cb3eac943ff0227132728a613940eff7'/>
<id>urn:sha1:8dfd8a36cb3eac943ff0227132728a613940eff7</id>
<content type='text'>
Fix
commit_hash:3ceec269bc1e9f318949493b79d1536db72d8a11
</content>
</entry>
<entry>
<title>Add Y_NO_UNIQUE_ADDRESS</title>
<updated>2025-07-09T08:45:28Z</updated>
<author>
<name>ludaludaed</name>
<email>ludaludaed@yandex-team.com</email>
</author>
<published>2025-07-09T08:28:23Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=b0c179cbac3df627b8b96fb72374e771a6be3325'/>
<id>urn:sha1:b0c179cbac3df627b8b96fb72374e771a6be3325</id>
<content type='text'>
Add Y_NO_UNIQUE_ADDRESS
commit_hash:ef4b0719294a6019a0b5802769cb2a15c2dd1b64
</content>
</entry>
<entry>
<title>Intermediate changes</title>
<updated>2025-06-23T14:55:31Z</updated>
<author>
<name>robot-piglet</name>
<email>robot-piglet@yandex-team.com</email>
</author>
<published>2025-06-23T14:37:23Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=4f0653f7f54175eeff7d9713752b33f9a236ce52'/>
<id>urn:sha1:4f0653f7f54175eeff7d9713752b33f9a236ce52</id>
<content type='text'>
commit_hash:2cae4f8b8ad560eb417e09ac5ff75d2c9df3cb59
</content>
</entry>
<entry>
<title>Add TUniqueTypeList and NTL::TUnique</title>
<updated>2025-06-22T17:59:19Z</updated>
<author>
<name>yurial</name>
<email>yurial@yandex-team.com</email>
</author>
<published>2025-06-22T17:31:56Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=7a0ac031fb88c8be200d5849184d45a3acc2ebea'/>
<id>urn:sha1:7a0ac031fb88c8be200d5849184d45a3acc2ebea</id>
<content type='text'>
Позволяет получить TTypeList с уникальными типами.
commit_hash:589914da95d44bdc457d7e4341e4a377df2da2b8
</content>
</entry>
<entry>
<title>Upver wine 10.8</title>
<updated>2025-06-19T19:28:33Z</updated>
<author>
<name>nechda</name>
<email>nechda@yandex-team.com</email>
</author>
<published>2025-06-19T18:29:41Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=bcacbf3392fc63c23fdb5dba423540f1121f1842'/>
<id>urn:sha1:bcacbf3392fc63c23fdb5dba423540f1121f1842</id>
<content type='text'>
commit_hash:db0a0308d356c8dca2520f3881de2615edcc4455
</content>
</entry>
<entry>
<title>Check that bytes consist of 8 bits</title>
<updated>2025-06-17T00:11:42Z</updated>
<author>
<name>akhropov</name>
<email>akhropov@yandex-team.com</email>
</author>
<published>2025-06-16T23:56:01Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=1496d6ee1dfd8d449a3f9de4703f86dd5a1243f5'/>
<id>urn:sha1:1496d6ee1dfd8d449a3f9de4703f86dd5a1243f5</id>
<content type='text'>
commit_hash:9eaf085276f1f93768b8b0e5ec92a53bf0db86a8
</content>
</entry>
<entry>
<title>Add TMultiHashMap::node_allocator_type</title>
<updated>2025-06-11T03:10:18Z</updated>
<author>
<name>sergey-tiunov</name>
<email>sergey-tiunov@yandex-team.com</email>
</author>
<published>2025-06-11T02:54:51Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=53c1be817cfaaf0d9e498fcbb0ba9c860be12382'/>
<id>urn:sha1:53c1be817cfaaf0d9e498fcbb0ba9c860be12382</id>
<content type='text'>
Добавляем `TMultiHashMap::node_allocator_type` по аналогии с [THashMap::node_allocator_type](https://a.yandex-team.ru/arcadia/util/generic/hash.h?rev=rXXXXXX#L19), чтобы вычислять объем занимаемой памяти объектов `TMultiHashMap`.
commit_hash:49c8bbcd57ac8292ff1fffa7b59e45fdd88c3278
</content>
</entry>
<entry>
<title>[util] the THashSet::operator== must compare elements using their comparison operators.</title>
<updated>2025-06-07T22:49:17Z</updated>
<author>
<name>swarmer</name>
<email>swarmer@yandex-team.com</email>
</author>
<published>2025-06-07T22:34:30Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=34373eed70ab488a62709077127516eb1970f112'/>
<id>urn:sha1:34373eed70ab488a62709077127516eb1970f112</id>
<content type='text'>
The C++ standard describes the requirements for comparing unordered containers in [unord.req.general]:
&gt; Two unordered containers a and b compare equal if a.size() == b.size() and,
&gt; for every equivalent-key group [Ea1, Ea2) obtained from a.equal_range(Ea1),
&gt; there exists an equivalent-key group [Eb1, Eb2) obtained from b.equal_range(Ea1),
&gt; such that is_permutation(Ea1, Ea2, Eb1, Eb2) returns true.

THashSet should use the same comparison logic.
commit_hash:b897cd7387d275324bb22268d0be79da4e74bf16
</content>
</entry>
<entry>
<title>[util] Obtain uptime from the clock_gettime syscall</title>
<updated>2025-05-30T23:15:51Z</updated>
<author>
<name>swarmer</name>
<email>swarmer@yandex-team.com</email>
</author>
<published>2025-05-30T22:59:29Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=a07a46cd2b9d577d4945aa186d04d6c0df6ef556'/>
<id>urn:sha1:a07a46cd2b9d577d4945aa186d04d6c0df6ef556</id>
<content type='text'>
Reading /proc/uptime is about a hundred times slower than accessing the same timer via the clock_gettime call. The latter also has better precision.
commit_hash:70904860adc43c9d2d6487a415a2e6b27fe6dae7
</content>
</entry>
</feed>
