- Релиз nginx 1.23.0, topin89, 22:47 , 21-Июн-22 (1) +1
> Переделан внутренний API, строки заголовков теперь передаются в форме связанного списка. Кто пограмотнее, объясните, какая с этого выгода. Я искал время от времени случаи, где связный список лучше, чем указатели на массив/двустороннюю очередь, и не мог найти ничего полезней чем "ну когда нужно вставлять один контейнер в середину другого", и даже там на коротких массивах выгоды как правило не было. Раз перешли на них, должна быть хорошая причина, о которой я не догадываюсь.
- Релиз nginx 1.23.0, Онаним, 23:09 , 21-Июн-22 (5) +1
- Релиз nginx 1.23.0, Онаним, 23:10 , 21-Июн-22 (6) +1
- Релиз nginx 1.23.0, topin89, 10:41 , 22-Июн-22 (35)
> С другой стороны бинарный поиск в отсортированном списке - так себе затея, > т.е. это tradeoff. > Вот в жизни не поверю, что у них число вставок-удалений превышает число > поисков.Да даже если и превышает, ну будет массив указателей на строки размером на 10-30 строк, там вставка не будет сильно медленней, чем в списках. Из-за высокой локальности оно может ещё и быстрее оказаться.
- Релиз nginx 1.23.0, native76, 23:34 , 21-Июн-22 (12) +1
- Релиз nginx 1.23.0, topin89, 14:52 , 22-Июн-22 (40)
> возможно, меньшая фрагментация памяти - возможность pre-alloc/pool блоков одинакового > размера. при высокой нагрузке это может быть важно.Почитал про Pool Allocator, спасибо за место, где в связном списке больше смысла, чем в простом массиве. Но не могу понять по коду nginx, чанки ли там или просто список сам по себе.
- Релиз nginx 1.23.0, Онаним, 22:34 , 22-Июн-22 (46)
- Релиз nginx 1.23.0, Аноним, 01:11 , 22-Июн-22 (20) +1
- Релиз nginx 1.23.0, topin89, 11:07 , 22-Июн-22 (36)
> Выгода от связного списка есть, только если он intrusive, как в ядре линуховом.А какая? Есть какая информация в духе "вот тут мы заменили X на linked list -- и стало слегка/гораздо быстрее", может в LKLM где-нибудь?
- Релиз nginx 1.23.0, Аноним, 11:28 , 22-Июн-22 (37) –4 [V]
- Релиз nginx 1.23.0, Lucky, 05:23 , 22-Июн-22 (28) +2
- Релиз nginx 1.23.0, topin89, 10:37 , 22-Июн-22 (34)
>> Раз перешли на них, должна быть хорошая причина, о которой я не догадываюсь > Теперь структуры данных привели к одному виду.Но зачем было в принципе список использовать? Почему не перейти к массивам? Почему в принципе был выбран именно список? А то вдруг он выбран давным-давно и теперь все хотели бы заменить, но обратная совместимость и не чини что работает.
- Релиз nginx 1.23.0, 1, 09:11 , 22-Июн-22 (32) +3
- Релиз nginx 1.23.0, Онаним, 22:38 , 22-Июн-22 (47)
- Релиз nginx 1.23.0, Гость, 23:17 , 21-Июн-22 (7) +6 [^]
- Релиз nginx 1.23.0, Мохнатый пись, 00:15 , 22-Июн-22 (14) –2
- Релиз nginx 1.23.0, Вы забыли заполнить поле Name, 03:41 , 23-Июн-22 (50)
- Релиз nginx 1.23.0, Какаянахренразница, 13:55 , 23-Июн-22 (55)
|