The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Релиз nginx 1.23.0, opennews, 21-Июн-22, 22:47  [смотреть все]
  • Релиз 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)



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру