Тесты производительности
Основные алгоритмы Dart компании Tracelet постоянно проверяются на соответствие строгим пороговым значениям производительности. Это гарантирует, что такие функции, как фильтрация Калмана, геозонирование точек в полигонах и бюджетирование заряда батареи, остаются исключительно легкими и не вызывают разрядку батареи.
Интерактивный график ниже автоматически визуализирует историю ключевых показателей производительности из недавних коммитов.
Данные извлекаются динамически из файла BENCHMARK.md, отслеживаемого в репозитории.
Более низкие значения (мкс/опер) соответствуют лучшей производительности.
Loading graph...
Описание тестов
| Бенчмарк | Описание | Горячий путь |
|---|---|---|
| НОТРАНС0ЛАТЕ | Цикл прогнозирования + обновления одиночного фильтра Калмана | Каждое исправление GPS |
| НОТРАНС0ЛАТЕ | 100 последовательных GPS-фиксаций через фильтр Калмана | Постоянное отслеживание |
| НОТРАНС0ЛАТЕ | 1000 последовательных GPS-фиксаций через фильтр Калмана | Длинная сессия |
| НОТРАНС0ЛАТЕ | Сбросить состояние фильтра (Float64List fillRange) | Изменение режима |
| НОТРАНС0ЛАТЕ | Расчет расстояния по одному гаверсинусу | Каждое определение GPS (3+ звонка) |
| НОТРАНС0ЛАТЕ | 1000 последовательных вычислений гаверсинуса | Пакетная обработка |
| НОТРАНС0ЛАТЕ | Точка в многоугольнике, многоугольник с 4 вершинами | Простая геозона |
| НОТРАНС0ЛАТЕ | Точка в многоугольнике, многоугольник с 10 вершинами | Средний многоугольник |
| НОТРАНС0ЛАТЕ | Точка-в-многоугольнике, многоугольник с 50 вершинами | Сложный многоугольник |
| НОТРАНС0ЛАТЕ | Точка-в-многоугольнике, многоугольник со 100 вершинами | Подробная граница |
| НОТРАНС0ЛАТЕ | Точка-в-многоугольнике, многоугольник с 500 вершинами | Высокодетализированный полигон |
| НОТРАНС0ЛАТЕ | Оцените 10 круговых геозон | Небольшое развертывание |
| НОТРАНС0ЛАТЕ | Оцените 100 круговых геозон | Среднее развертывание |
| НОТРАНС0ЛАТЕ | Оценить 500 круговых геозон | Большое развертывание |
| НОТРАНС0ЛАТЕ | Оценить 10 полигональных геозон (по 6 вершин в каждой) | Полигональные зоны |
| НОТРАНС0ЛАТЕ | Оценить 50 полигональных геозон (по 6 вершин в каждой) | Множество полигональных зон |
| НОТРАНС0ЛАТЕ | Полный конвейер LocationProcessor, 1000 исправлений | Основной цикл отслеживания |
| НОТРАНС0ЛАТЕ | LocationProcessor с адаптивным режимом, 1000 исправлений | Отслеживание заряда батареи |
| НОТРАНС0ЛАТЕ | TripManager накапливает 5000 путевых точек | Долгая поездка |
| НОТРАНС0ЛАТЕ | Разобрать строку расписания | Расписание оценки |
| НОТРАНС0ЛАТЕ | Проверить, соответствует ли время расписанию | Расписание оценки |
| НОТРАНС0ЛАТЕ | Проверьте 5 записей расписания | Мультирасписание |
| НОТРАНС0ЛАТЕ | Одиночное вычисление AdaptiveSamplingEngine | Каждое определение GPS (адаптивное) |
| НОТРАНС0ЛАТЕ | Десериализовать местоположение с карты платформы | Каждое исправление GPS |
| НОТРАНС0ЛАТЕ | Сериализовать Местоположение на карте | Постоянство/HTTP |
| НОТРАНС0ЛАТЕ | Полная сериализация туда и обратно | Путь наследия |
| НОТРАНС0ЛАТЕ | Копировать местоположение с новыми координатами (оптимизировано) | выход Кальмана |
| НОТРАНС0ЛАТЕ | Десериализовать круговую геозону | Геозона загрузка |
| НОТРАНС0ЛАТЕ | Десериализовать полигональную геозону с вершинами | Загрузка полигона |
| НОТРАНС0ЛАТЕ | Дельта-кодирование пакета из 10 мест | HTTP-синхронизация |
| НОТРАНС0ЛАТЕ | Дельта-кодирование пакета из 100 мест | HTTP-синхронизация |
| НОТРАНС0ЛАТЕ | Дельта-кодирование пакета из 500 мест | Массовая синхронизация |
| НОТРАНС0ЛАТЕ | Дельта-декодирование пакета из 10 локаций | Восстановление сервера |
| НОТРАНС0ЛАТЕ | Дельта-декодирование пакета из 100 локаций | Восстановление сервера |
| НОТРАНС0ЛАТЕ | Дельта-декодирование партии из 500 локаций | Массовое восстановление |
| НОТРАНС0ЛАТЕ | Полное кодирование → декодирование туда и обратно, 100 мест | Путь правильности |
| НОТРАНС0ЛАТЕ | Обработка образцов одной батареи | Каждая батарея читается |
| НОТРАНС0ЛАТЕ | 60 образцов (1 час моделирования) | Постоянное отслеживание |
| НОТРАНС0ЛАТЕ | 120 образцов с агрессивным сливом | Бюджет в худшем случае |
| НОТРАНС0ЛАТЕ | Полное путешествие со 100 GPS-фиксациями | Завершение поездки |
| НОТРАНС0ЛАТЕ | Учет выбросов углерода по каждому месту | Каждое исправление GPS |
| НОТРАНС0ЛАТЕ | Переключение типа деятельности | Изменение деятельности |
| НОТРАНС0ЛАТЕ | Создать сводный отчет (10 поездок) | Запрос отчета |
| НОТРАНС0ЛАТЕ | Решение о сохранении местоположения (все режимы) | Каждое исправление GPS |
| НОТРАНС0ЛАТЕ | Решение о сохранении геозоны (все режимы) | Событие Геозоны |
| НОТРАНС0ЛАТЕ | Десериализовать полную конфигурацию с карты | Восстановление конфигурации |
| НОТРАНС0ЛАТЕ | Сериализировать полную конфигурацию на карту | Конфигурация сохраняется |
| НОТРАНС0ЛАТЕ | Полная сериализация конфигурации туда и обратно | Обновление конфигурации |
| НОТРАНС0ЛАТЕ | Десериализовать состояние с карты | Государственное восстановление |
| НОТРАНС0ЛАТЕ | Сериализация состояния для отображения | Государство сохраняется |
| НОТРАНС0ЛАТЕ | Сериализация RouteContext для отображения | Прикрепление контекста маршрута |
| НОТРАНС0ЛАТЕ | Десериализовать RouteContext с карты | Восстановление контекста маршрута |
| НОТРАНС0ЛАТЕ | Полная сериализация RouteContext туда и обратно | Обновление контекста маршрута |
| НОТРАНС0ЛАТЕ | Сериализация SyncBodyContext с 50 местоположениями | Синхронизация телосложения |
| НОТРАНС0ЛАТЕ | Десериализовать SyncBodyContext с 50 местоположениями | Синхронизация восстановления тела |
| НОТРАНС0ЛАТЕ | Сериализация HttpConfig с полями закрепления SSL | Конфигурация сохраняется |
| НОТРАНС0ЛАТЕ | Десериализация HttpConfig с полями закрепления SSL | Восстановление конфигурации |
| НОТРАНС0ЛАТЕ | Полная двусторонняя сериализация HttpConfig+SSL | Обновление конфигурации |
Полные методологии тестирования можно найти в файле BENCHMARK.md в корне репозитория Tracelet.