Ответы пользователя по тегу Rust
  • Обязателен ли web-server (NGINX) для Actix Web?

    Eugene-Usachev
    @Eugene-Usachev
    Обязательным nginx не будет, но он рекомендован большинству веб-проектам. Очень многие проблемы на себя берёт nginx, и вообще странно брать высокопроизводительный инструмент (Actix Web) и не позаботься о балансировке нагрузки (или вы хотите сами писать балансировщик?).
    Ответ написан
    Комментировать
  • Почему скорость чтения из файла резко деградирует?

    Eugene-Usachev
    @Eugene-Usachev Автор вопроса
    Чёрная магия, не иначе. Несколько раз возвращался к коду на неделе и так и не исправил эту ошибку. Решил выписать все теории и проверить залпом.

    Проблема не Оперативной Памяти. Как вы могли заметить, я держу в памяти все ключи и значения. Начал их генерировать на ходу, стало хуже.

    Проблема не в том, что размер данных слишком большой. Поставил 100 байт, но 30 000 000 повторов, стало ещё хуже (оно и логично).

    Дальше я заметил крайне странную ситуацию. Сначала я прогнал тест на Windows и получил 2.5 секунды на вставку и 17 секунд на получение (при 100 байт), однако проблема этого теста в том, что IDE пытается заиндексировать новые файлы, так что я и не стал проверять на Windows неделю назад (работал в Docker), но тут решил проверить. Получилось (на 1000 байт) 10.8 секунд на запись и 24 секунды на получение. Этот тест вызвал у меня ещё больше вопросов.

    Я программист с учебным опыт около полутора лет и не могу это объяснить. Может кто-нибудь объяснить такую ситуацию?
    Ответ написан
  • Как сделать много вставок в HashMap за минимальное время?

    Eugene-Usachev
    @Eugene-Usachev Автор вопроса
    Должен отметить, что Василий Банников дал прекрасный ответ. Дальше я пошёл в увеличение количества map (срез содержит срез map, который содержат другие map) и добился скорости записи 3 000 000 элементов на моём компьютере за 180 миллисекунд (вместо 4 секунд).

    И вот сейчас я наткнулся на замечательную статью от DragonflyDB https://github.com/dragonflydb/dragonfly/blob/main.... Там подход схожий с моим, советую к ознакомлению всем, кто хочет масштабировать map вертикально (за счёт числа ядер).
    Ответ написан
    Комментировать