↑↑↓↓←→←→ⒷⒶ Войти !bnw Сегодня Клубы
Итак, как оказалось, хэшмапа на связных списках на сишечке пишется просто «на коленке» за 10 минут. При этом: 1. Можно в ноду впихнуть и ключ и значение и на каждую ноду будет выполняться строго одна аллокация 2. Ввиду отсутствия «лишних» действий, работает быстро
#539ZCB / @hirthwork / 3687 дней назад

3. Можно отстрелить обе ноги и дебажить это неделю.
#539ZCB/8C6 / @l29ah / 3687 дней назад
@l29ah я тоже так думал, но оказалось что там особо негде в ногу стрелять
#539ZCB/SOQ / @hirthwork --> #539ZCB/8C6 / 3687 дней назад
@hirthwork Мемчек valgrind'а проходит?
#539ZCB/Y3Y / @l29ah --> #539ZCB/SOQ / 3687 дней назад
@l29ah ща заемёржу
#539ZCB/DW2 / @hirthwork --> #539ZCB/Y3Y / 3687 дней назад
а чо не на жабке?
#539ZCB/PN6 / @anonymous / 3687 дней назад
@anonymous побайтоёбствовать захотелось
#539ZCB/QX6 / @hirthwork --> #539ZCB/PN6 / 3687 дней назад
типы ключей и значений захардкожены штоль?
#539ZCB/IXZ / @mugiseyebrows / 3687 дней назад
@mugiseyebrows да. и хэшфункция тоже
#539ZCB/YSL / @hirthwork --> #539ZCB/IXZ / 3687 дней назад
@l29ah 20,000,000 allocs, 20,000,000 frees, 30,092,700,000 bytes allocated ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) gcov говорит, что code coverage 100%
#539ZCB/VCA / @hirthwork --> #539ZCB/Y3Y / 3687 дней назад
**СЕРЕАЛИЗИРУЙ ЭТО**
#539ZCB/WB0 / @anonymous / 3687 дней назад
mah hcreate
#539ZCB/Z97 / @lexszero / 3686 дней назад
@lexszero 1. Нельзя задать свою хэшфункцию и функцию сравнения 2. Малость припизднутая логика с ENTER — не ясно когда положит новый элемент, а когда перезатрёт старый 3. Вопрос был про задрачивание производительности и про аллокацию ноды целиком вместе с ключом и данными в один malloc. Тут же аллокации не сэкономишь
#539ZCB/ER6 / @hirthwork --> #539ZCB/Z97 / 3686 дней назад
@hirthwork вообще непонятно, почему не зделали как в прыщеядре для всех ADT, типа https://isis.poly.edu/kulesh/stuff/src/klist/
#539ZCB/E8B / @lexszero --> #539ZCB/ER6 / 3686 дней назад
@hirthwork алсо, от экономии маллока профит не особо большой - все равно либц ммапит память жирными кусками для уменьшения количество тяжелых сисколлов, а дальше уже работает аллокатор самого либц.
#539ZCB/66T / @lexszero --> #539ZCB/ER6 / 3686 дней назад
@lexszero зато фрагментация памяти и локальность данных сильно повышается
#539ZCB/F2D / @hirthwork --> #539ZCB/66T / 3686 дней назад
@hirthwork *фрагментация уменьшается
#539ZCB/VAH / @hirthwork --> #539ZCB/F2D / 3686 дней назад
@hirthwork ну это да. алсо, глибовский хэшмеп позволяет задать свою хэшфункцию
#539ZCB/PZ1 / @lexszero --> #539ZCB/F2D / 3686 дней назад
@lexszero да, я им пользовался несколько раз, но тут помимо отсутствия экономии маллоков ещё вылезает отсутствие инлайновости хэшфункции и функции сравнения ключей
#539ZCB/8MK / @hirthwork --> #539ZCB/PZ1 / 3686 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.