<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ydb/util, branch CLI_2.22.1</title>
<subtitle>Mirror of YDB github repos</subtitle>
<id>https://code.mastervirt.ru/ydb/atom?h=CLI_2.22.1</id>
<link rel='self' href='https://code.mastervirt.ru/ydb/atom?h=CLI_2.22.1'/>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/'/>
<updated>2025-06-07T22:49:17Z</updated>
<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>
<entry>
<title>adding the required includes, which were previously only available transitively via the JOIN_SRCS macro</title>
<updated>2025-05-29T21:03:15Z</updated>
<author>
<name>swarmer</name>
<email>swarmer@yandex-team.com</email>
</author>
<published>2025-05-29T20:44:34Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=84ed20e74a904d6aa8d73c36f928d9c4628d040f'/>
<id>urn:sha1:84ed20e74a904d6aa8d73c36f928d9c4628d040f</id>
<content type='text'>
commit_hash:9769490daa4d0e88eaf1b4147ccc961be6031d04
</content>
</entry>
<entry>
<title>better fork-aware pool</title>
<updated>2025-05-22T12:40:47Z</updated>
<author>
<name>a11ax</name>
<email>a11ax@yandex-team.com</email>
</author>
<published>2025-05-22T12:00:59Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=c28fa5a5d4eee687fa35713a3b8561b8f892992a'/>
<id>urn:sha1:c28fa5a5d4eee687fa35713a3b8561b8f892992a</id>
<content type='text'>
Было: при добавлении-удалении обьекта берем мьютекс, молимся чтобы тот не оказался залочен при форке, никак перед форком на лок не смотрим

Помимо того что это просто не очень надежно, оно не всегда работает. Может случиться так что с мьютексом все нормально, но IntrusiveList все равно [скорапчен](HIDDEN_URL и список закольцован не там где надо (по всей видимости cpu reorder на apple m1 ехидничает).

Стало: берем спинлок вместо мьютекса, в том числе берем его на время форка.
commit_hash:94145ab392390a2c0b9f885275302082524606b2
</content>
</entry>
<entry>
<title>remove unused includes</title>
<updated>2025-05-21T19:21:09Z</updated>
<author>
<name>tobo</name>
<email>tobo@yandex-team.com</email>
</author>
<published>2025-05-21T19:06:44Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=680267404b9924465250d6157bc00b0fd194a0c2'/>
<id>urn:sha1:680267404b9924465250d6157bc00b0fd194a0c2</id>
<content type='text'>
commit_hash:1853234e3cc2386843bcb3c973f43778e813efeb
</content>
</entry>
<entry>
<title>Add utf8 shrink functions</title>
<updated>2025-05-21T18:31:26Z</updated>
<author>
<name>nemal300</name>
<email>nemal300@yandex-team.com</email>
</author>
<published>2025-05-21T18:17:18Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=9992ff94f23f980fff8040a095cf62a5ac955476'/>
<id>urn:sha1:9992ff94f23f980fff8040a095cf62a5ac955476</id>
<content type='text'>
commit_hash:eebf8de05f89401d692625c13336aad120b149fc
</content>
</entry>
<entry>
<title>Update Cython to 3.0.10.</title>
<updated>2025-05-19T04:36:02Z</updated>
<author>
<name>nik-bes</name>
<email>nik-bes@yandex-team.com</email>
</author>
<published>2025-05-19T04:20:13Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=317b7368e24941ff76499f500579fd9b10f6656e'/>
<id>urn:sha1:317b7368e24941ff76499f500579fd9b10f6656e</id>
<content type='text'>
commit_hash:b43c96b868cd36d636192fd2c6024d9f0d2fb6f8
</content>
</entry>
<entry>
<title>Fix and improve documentation comments</title>
<updated>2025-05-18T20:05:14Z</updated>
<author>
<name>akhropov</name>
<email>akhropov@yandex-team.com</email>
</author>
<published>2025-05-18T19:53:11Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=6b666a52d40308ab9b3532cd8d3008b9f37cfffb'/>
<id>urn:sha1:6b666a52d40308ab9b3532cd8d3008b9f37cfffb</id>
<content type='text'>
commit_hash:f542118888ac27e5c731c6da1de70b30e2a082e9
</content>
</entry>
<entry>
<title>Remove SSE*_ENABLED defines and use predefined compiler macros instead</title>
<updated>2025-05-17T07:57:15Z</updated>
<author>
<name>thegeorg</name>
<email>thegeorg@yandex-team.com</email>
</author>
<published>2025-05-17T07:40:03Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=06d4fbfcb544c40c32106e6333821f06fa835a69'/>
<id>urn:sha1:06d4fbfcb544c40c32106e6333821f06fa835a69</id>
<content type='text'>
commit_hash:38a7fed85214a0b939bdd770ba2244ff0f195f63
</content>
</entry>
<entry>
<title>util: Reduce the number of string allocation within the TypeName&lt;T&gt; function</title>
<updated>2025-04-25T22:54:00Z</updated>
<author>
<name>swarmer</name>
<email>swarmer@yandex-team.com</email>
</author>
<published>2025-04-25T22:23:14Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=34de0660a7d705ea6c9a9b4c0d035b1fe8448d8a'/>
<id>urn:sha1:34de0660a7d705ea6c9a9b4c0d035b1fe8448d8a</id>
<content type='text'>
Don't copy a `const char *` into a temporary `TString`, only to convert it back to a `const char *`.
commit_hash:f291a94106900ceae8ae830f20716cb35f8aab2d
</content>
</entry>
</feed>
