RattenKong 🦧🐀🦍️
index - индекса бита который хотим взять
ivn
а, ну там тогда byteNum и bitNum как будто перепутаны
🐙 Antony
Кстати, а никто не исследовал, почему std::mutex и std::timed_mutex не реализованы вот так: https://patchwork.freedesktop.org/patch/41241/
Вроде бы ничего не мешает, а автор обещает 10% прирост производительности?
🐙 Antony
Всё верно, идея в том, чтобы оставить самый минимум и позволить инлайниться. Меня 10% прироста производительности завораживают, ничего не могу с собой поделать...
melvin
есть чат по си?
Danil
здесь все вместе
Danil
но большинство сиплюсплюсники
Andrey
Aidar
Странно ведь это про.схх
Anonymous
melvin
union в C можно использовать для динамичесого предстваления типа данных?
melvin
т.е. связка из метки типа + union всех возможных типов
Berkus
melvin
а есть альтернативы?
melvin
если говорить только об Си
Berkus
можно держать tag + pointer
Berkus
и маллокать нужный тип
Berkus
всякое барахло до sizeof(pointer) можно сувать прямо туда как values
ivn
а есть альтернативы?
например в исходниках Python 2.7 можно посмотреть реализацию PyObject и всех остальных типов
melvin
melvin
я сейчас просто 3ую ветку ковыряю
ivn
я просто не знакю как в ветке 3+ они сделали
melvin
понял, спасибо
Evgenii
Berkus
да я знаю что разберется
Berkus
с -O0 правда затупит
Evgenii
впрочем в данном случае &1 просто логичнее
Alexander
🐙 Antony
в теории - да :)
🦥Alex Fails
🦥Alex Fails
GitHub - rkapsi/patricia-trie: Practical Algorithm to Retrieve...
github.com
PATRICIA Trie. Practical Algorithm to Retrieve Information Coded in Alphanumeric. The PATRICIA Trie is also known under the names Radix and Crit Bit Tree.
🦥Alex Fails
Radix tree - Wikipedia
en.wikipedia.org
Donald R. Morrison first described what he called "Patricia trees" in 1968;[4] the name comes from the acronym PATRICIA, which stands for "Practical Algorithm To Retrieve Information Coded In...
RattenKong 🦧🐀🦍️
Vladislav
если index - это бит, то почему не byteNum = index / 8 (или >> 3, если хочется)?
RattenKong 🦧🐀🦍️
лоло, похоже на магию которую я не помню, надо будет пересмотреть кодес и литературу перечитать
RattenKong 🦧🐀🦍️
И тогда вопрос, как оно работало корректно
RattenKong 🦧🐀🦍️
Надо будет затестить лоло
Berkus
ну это похоже просто неверная имплементация )
Berkus
перезаписывала память где-то далекооо
Berkus
(ну или читала)
Vladislav
😀
RattenKong 🦧🐀🦍️
я на достаточно нормальных тестах тестировал
RattenKong 🦧🐀🦍️
Короче буду разбиратьчя
Berkus
пример теста есть?
RattenKong 🦧🐀🦍️
просто запросы на удаление и поиск
RattenKong 🦧🐀🦍️
И вставку
RattenKong 🦧🐀🦍️
С разной длины строками
RattenKong 🦧🐀🦍️
Короче, пока не затещу ничаво не скажу!
Berkus
да тут вопрос про тест функции теста этого бита )
Vladislav
ну малоль, там отображение памяти закольцовано
Vladislav
всяко бывает :)
RattenKong 🦧🐀🦍️
я исходил их того, что раз работает интерфейс, то и внутренние функции работают
RattenKong 🦧🐀🦍️
Ну и в такой функции трудно ошибиться(но можно ;-))
Vladislav
simon the shame 😀
Andrei
Animal
Кто -нибудь работал с boost.property tree? Как и чем вы сравнивали два дерева?
Animal
Если быть чуть точнее, то как и чем сравнивать два дерева, в которых порядок нодов не совпадает
Animal
Но уровень вложенности и содержимое совпадают
Animal
Встоонный sort и стандартный operator == не помогают
Animal
Самописный компаратор тоже
Andrei
Руками, рекурсивно.
Andrei
И довольно неоптимально выйдет, если чо.
Andrei
Если нужно именно сравнение, предлагаю написать хешер.
Animal
Как вариант, но что бы не напороться на несовпадающий порядок придется элементы первого дерева искать по тем же путям во втором. Что не избавляет от проблемы, когда первое только подмножество второго
Berkus
Andrei
И сравнивать хеши.
Александр
Andrei
Пренебречь.
Daniil
тогда уже сравнивать руками))
Berkus
при коллизии сравнивать ручками рекурсивно лоль
Animal
Хэш - уже лучше
Александр
хэш имеет смысл, если сравнивать часто и много, а также много false'ов
Andrei
Нет, просто забить на сравнение руками и использовать только хеши. Взять просто подлиннее. И хешировать правильно.
Animal
Спасибо всем за обсуждения и Андрею в особенности за идею с хэшом