Коллекция различных транспортных реализаций и связанных с ними инструментов, ориентированных в основном на веб -технологиях. Особенности внутренней разработки 6 IETF RFCS (6265, 6455, 7541, 7692, 8441, 9113), 2 формальные спецификации (GRPC, PostgreSQL) и несколько других изобретенных идей.
Каждая функция необязательна и должна быть установлена во время компиляции. Пожалуйста, смотрите предполагаемую документацию для получения дополнительной информации.
Встроенные устройства с рабочим распределителем кучи могут использовать этот ящик no_std .
Многие вещи, которые обычно улучшают производительность, используются в проекте, и многие другие:
cargo tree -e normal --features postgres .Поскольку память обычно удерживается на уровне экземпляра, вместо того, чтобы создавать и сбрасывать на лету, стоит отметить, что его использование может значительно рост в зависимости от использования. Если вы присваиваются, попробуйте использовать общий пул ресурсов или попробуйте ограничить, сколько данных можно обмениваться между сторонами.
Посмотрите WTX-Bench, чтобы увидеть различные показатели или не стесняться указывать любые недоразумения или неправильные конфигурации.
В основном есть 2 вещи, которые влияют на производительность, выбранное время выполнения и количество предварительно выделенных байтов. Специально для серверов, которые должны создавать новый экземпляр для каждого рукопожатия, предварительное выделение большого количества байтов для кратковременных или низких передач, может оказать негативное влияние.
Все, что отмечено #[bench] в репозитории, считается низкоуровневым эталоном в том смысле, что они измеряют очень специфические операции, которые обычно служат основой для других частей.
Взгляните на https://bencher.dev/perf/wtx, чтобы увидеть все низкоуровневые тесты в течение разных периодов времени.
При использовании функции, которая требует сетевого соединения, часто необходимо выполнить зашифрованную связь, и, поскольку wtx не жестко кодируется конкретной реализацией потока, вы должны выбрать лучшего поставщика TLS.
Некоторые коммунальные услуги, такие как TokioRustlsConnector или TokioRustlsAcceptor доступны для того, чтобы сделать вещи более удобными, но имейте в виду, что все еще необходимо активировать ящик, который предоставляет сертификаты для использования клиента.
Демонстрации различных вариантов использования можно найти в каталоге wtx-instances , а также в документации.
Не поддерживает системы с длиной указателя 16 бит.
Ожидается, что безошибочная сумма длины произвольного количества срезов, в противном случае программа, вероятно, вызовет переполнение, которое может привести к неожиданным операциям. Например, в 32 -битной системе такой сценарий должен быть жизнеспособным без замены памяти или с помощью определенных ограничений, таких как ulimit .