За последние 24 часа нас посетили 22734 программиста и 1268 роботов. Сейчас ищут 777 программистов ...

Нагруженное дерево в PHP

Тема в разделе "PHP для профи", создана пользователем illegal, 16 май 2020.

  1. illegal

    illegal Новичок

    С нами с:
    15 май 2020
    Сообщения:
    1
    Симпатии:
    0
    Всем привет! Буду краток в изложении: есть поиск, реализованный через нагруженное дерево, но проблема состоит в его аппетите на оперативку. Вопрос состоит в том, какими методами можно это потребление сократить и как тогда дерево хранить? Дефолтные типы объекты/массивы на относительно небольших словарях выдают нешуточные 150 мб.

    P.S.: есть довольно странная идея с использованием демона, чтобы все пользователи обращались фактически к одному процессу без пересоздания и выделения независимой памяти(не претендую на исконно истинное понимание сути, лишь предполагаю).
     
  2. Anhk

    Anhk Активный пользователь

    С нами с:
    13 дек 2015
    Сообщения:
    219
    Симпатии:
    11
    Для экономии памяти можно попробовать заюзать генераторы для начала, думаю.
     
  3. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    Поиск чего ? Названия ? Какого-то свойства ?
     
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.072
    Симпатии:
    1.237
    Адрес:
    там-сям
    Тема майская и не похоже что топикстартер здесь бывает. Выстрелил и забыл. Уточнить детали не у кого.
     
  5. johovich

    johovich Активный пользователь

    С нами с:
    24 авг 2016
    Сообщения:
    146
    Симпатии:
    17
    Поиск текстовой строки. Тема реализации средствами php больше не актуальна, уже давно запилил дерево в виде php расширения.
     
    artoodetoo нравится это.
  6. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    А документация есть ? Что-то смотрю репу и ничего внятного. Что-то есть в файлике yatrie_test.php, но это не понятно и не полно как я думаю.
     
  7. johovich

    johovich Активный пользователь

    С нами с:
    24 авг 2016
    Сообщения:
    146
    Симпатии:
    17
    Очень давно все было. Посмотри вот эту статью, которую я писал по мотивам той истории. https://habr.com/ru/post/428626/


    Кажется, я делал вот этот алгоритм в виде php расширения https://habr.com/ru/post/416191/
     
  8. Вероломство

    Вероломство Активный пользователь

    С нами с:
    19 июн 2017
    Сообщения:
    615
    Симпатии:
    24
    для экономии памяти можно ещё потратить кучу бабла для расширения памяти

    и так мы и будем идти в ногу со временем: чем круче каждый год оборудование, тем ЕЩЁ больше тормозит софт, вместо оптимизации мы выпустим заплату на 10 гигов и всё останется на месте, нам же нужно дать заработать производителям оборудования, мы же пользуемся фреймворками, а не сами программируем и даже не думаем о том, что в фреймворке может быть заранее заложена нагрузка, не позволяющая нам опередить разработчика оборудования ))))))))))))

    потому что кто-то приручил пользователя фреймворка к НЕМУ, а разрабу этого фреймворка заплатил разработчик оборудования
     
  9. Вероломство

    Вероломство Активный пользователь

    С нами с:
    19 июн 2017
    Сообщения:
    615
    Симпатии:
    24
    тема не майская, тема глобальная: зачем в ядре СИМФОНИ (!!!) ))))))))))))))))))))) сделан метод return dirname(__DIR__)

    мы каждый раз (там ЕМНИП только в самом ядре раз 5 к нему обращение) при обращении к этому методу будем dirname() делать?????? АХАХАХАХ ахринеть

    а return нам для чего? чтобы не потерять ту дичь что мы задумали каждый раз? ))))
    --- Добавлено ---
    программисты, констант же не существует, будем дирнеймом долбить раз интерпртатор уже вызван