aMule выпускает версию 3.0.0 с огромным улучшением скорости загрузки

Проект aMule выпустил версию 3.0.0, ставшую первым крупным выпуском за более чем пять лет. Обновление, описанное разработчиками как «снова живая» версия, последовало за предыдущим основным выпуском, версией 2.3.3, вышедшим 7 февраля 2021 года. В новой версии значительно улучшена пропускная способность, модернизирован стек зависимостей и полностью переработана система сборки.

Значительный прирост пропускной способности и производительности

Главной особенностью aMule 3.0.0 является переработка системы пропускной способности, в результате которой дисковый ввод-вывод был вынесен из основного потока и заменены старые дроссели ограничителями сегментов токенов. Согласно проекту, скорость одноранговой загрузки на одном и том же оборудовании увеличилась в 100–380 раз по сравнению с версией 2.3.3 в Windows, Linux и macOS.

Тестирование, проведенное в течение 90 секунд с одним узлом локальной сети, загружающим файл размером 30 ГБ из раздающего устройства Linux x86_64, показало следующие устойчивые скорости:

  • macOS (Apple Silicon, Mac Studio): Скорость увеличена с 0,35 МБ/с до 135 МБ/с (ускорение в 381 раз).
  • Linux ARM (UTM VM, Ubuntu 25.10): Скорость увеличена с 0,34 МБ/с до 117 МБ/с (ускорение в 345 раз).
  • Windows ARM (UTM VM, Windows 11): Скорость увеличена с 0,36 МБ/с до 39 МБ/с (ускорение в 107 раз).

В рамках проекта также сравнивалось aMule 3.0.0 с eMule 0.70b на оборудовании Windows. В тестах загрузки из семян Windows в личер Mac aMule 3.0.0 достиг скорости 106 МБ/с по сравнению с 22 МБ/с у eMule, что примерно в 4,8 раза больше скорости. В тестах загрузки из семян Linux на пиявки Windows скорость aMule 3.0.0 достигла 39 МБ/с против 20 МБ/с у eMule, что примерно в 1,9 раза выше.

Read more:  США пытаются начать «ядерную энергию ренессанса»

Технические изменения и исправления ошибок

Разработчики решили несколько давних проблем в устаревшем коде. В частности, были обнаружены неисправности дросселей MaxUpload и MaxDownload; MaxUpload=0 ранее было ограничено текущая скорость + 5 КБ/с, в то время как MaxDownload функционировал как контроллер соотношения, а не как буквальное ограничение. Оба были переписаны.

Для поддержки каналов гигабитного класса поля ограничения скорости были расширены с uint16 до uint32, убрав прежний потолок конфигурации в 65 534 КБ/с. Пользовательский интерфейс ограничения пропускной способности также был обновлен: потолок кнопки прокрутки увеличен с 19 375 до 1 000 000 КБ/с. Кроме того, значение SlotAllocation по умолчанию было увеличено с 2 КБ/с (настройка 2005 года) до 10 КБ/с, чтобы предотвратить изменение скорости быстрых одноранговых узлов.

Другие технические обновления включают в себя:

  • Масштабирование больших библиотек: Алгоритмические исправления (переход от O(N²) к O(N log N) или O(1)) гарантируют, что веб-интерфейс и графический интерфейс остаются отзывчивыми для узлов с более чем 100 000 общих файлов.
  • Система сборки: CMake теперь заменяет autotools, требуя как минимум CMake 3.10 и wxWidgets 3.2.0.
  • Возможности подключения: Функциональность HTTPS была восстановлена ​​путем переписывания CHTTPDownloadThread поверх wxWebRequest.
  • Дополнительные возможности: Обновление включает в себя параллельный поиск Kad с расширением альфа-границы и замену устаревшего GeoIP на MaxMindDB для поиска по IP-адресу страны.

Поддержка и распространение платформы

aMule 3.0.0 предоставляет собственные двоичные файлы для всех основных настольных платформ. К ним относятся AppImage и Flatpak для Linux (x86_64 и aarch64), macOS Universal2 .dmg, который связывает aMuleGUI.app с aMule.app, а также портативный ZIP-файл для Windows и установщик NSIS (x64 и ARM64). Новые функции повышения качества жизни включают кросс-платформенный переключатель автоматического запуска при входе в систему и приглашение к первому запуску интеграции с рабочим столом для пользователей AppImage.

Read more:  Хотите MacBook без искусственного интеллекта? Вот как отключить Apple Intelligence (HT Tech)

Организационный переход

Релиз последовал за периодом нестабильности проекта. Разработчики заявили, что aMule ранее называли «мертвым проектом» из-за потери сопровождающих. В проекте также отметили, что пропал Гоностопи, плодовитый разработчик и давний сопровождающий. Поскольку Гоностопи был единственным владельцем исходного репозитория GitHub, а у других участников не было достаточных организационных прав, команда была вынуждена создать новую организацию и новые репозитории для управления программным обеспечением.

По теме

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.