This commit is contained in:
2026-02-06 23:52:26 +03:00
parent f1034ff447
commit a21570e779
15 changed files with 420 additions and 125 deletions
@@ -0,0 +1,9 @@
from metrics.benchmarks.entity import benchmarks
@benchmarks.register(
type_="my_category",
description="Description of what is being measured"
)
def benchmark_my_operation() -> None:
# Code whose performance is being measured
pass
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-01-13 21:50+0300\n"
"POT-Creation-Date: 2026-02-06 23:44+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -29,32 +29,32 @@ msgid ""
"взаимодействие с пользователем, координируя работу всех компонентов: "
"роутеров, обработчиков и системных сообщений."
msgstr ""
"The ``App`` object is the implementations of your console application. It handles "
"configuration, lifecycle management, command processing, and user "
"interaction, coordinating the work of all components: routers, handlers, "
"and system messages."
"The ``App`` object is the implementations of your console application. It"
" handles configuration, lifecycle management, command processing, and "
"user interaction, coordinating the work of all components: routers, "
"handlers, and system messages."
#: ../../root/api/app/index.rst:11
msgid "Инициализация"
msgstr "Initialization"
#: ../../root/api/app/index.rst:37
#: ../../root/api/app/index.rst:31
msgid "Создаёт и настраивает экземпляр приложения."
msgstr "Creates and configures an application instance."
#: ../../root/api/app/index.rst:39
#: ../../root/api/app/index.rst:33
msgid "``prompt``: Приглашение к вводу, отображаемое перед каждой командой."
msgstr "``prompt``: Input prompt displayed before each command."
#: ../../root/api/app/index.rst:40
#: ../../root/api/app/index.rst:34
msgid "``initial_message``: Сообщение, выводимое при запуске приложения."
msgstr "``initial_message``: Message displayed when the application starts."
#: ../../root/api/app/index.rst:41
#: ../../root/api/app/index.rst:35
msgid "``farewell_message``: Сообщение, выводимое при выходе из приложения."
msgstr "``farewell_message``: Message displayed when exiting the application."
#: ../../root/api/app/index.rst:42
#: ../../root/api/app/index.rst:36
msgid ""
"``exit_command``: Команда, которая маркируется как триггер для выхода из "
"приложения."
@@ -62,7 +62,7 @@ msgstr ""
"``exit_command``: Command that is marked as a trigger for exiting the "
"application."
#: ../../root/api/app/index.rst:43
#: ../../root/api/app/index.rst:37
msgid ""
"``system_router_title``: Заголовок для системного роутера (содержит "
"команду выхода)."
@@ -70,7 +70,7 @@ msgstr ""
"``system_router_title``: Title for the system router (contains the exit "
"command)."
#: ../../root/api/app/index.rst:44
#: ../../root/api/app/index.rst:38
msgid ""
"``dividing_line``: Тип разделительной линии (``StaticDividingLine`` или "
"``DynamicDividingLine``)."
@@ -78,7 +78,7 @@ msgstr ""
"``dividing_line``: Type of dividing line (``StaticDividingLine`` or "
"``DynamicDividingLine``)."
#: ../../root/api/app/index.rst:45
#: ../../root/api/app/index.rst:39
msgid ""
"``repeat_command_groups_printing``: Если ``True``, список доступных "
"команд выводится перед каждым вводом."
@@ -86,7 +86,7 @@ msgstr ""
"``repeat_command_groups_printing``: If ``True``, the list of available "
"commands is displayed before each input."
#: ../../root/api/app/index.rst:46
#: ../../root/api/app/index.rst:40
msgid ""
"``override_system_messages``: Если ``True``, стандартное форматирование "
"(цвета, ASCII-арт) отключается."
@@ -94,7 +94,7 @@ msgstr ""
"``override_system_messages``: If ``True``, standard formatting (colors, "
"ASCII art) is disabled."
#: ../../root/api/app/index.rst:47
#: ../../root/api/app/index.rst:41
msgid ""
"``autocompleter``: Экземпляр класса :ref:`AutoCompleter "
"<root_api_app_autocompleter>`, отвечающий за автодополнение команд."
@@ -103,29 +103,28 @@ msgstr ""
"<root_api_app_autocompleter>` class responsible for command "
"autocompletion."
#: ../../root/api/app/index.rst:48
msgid ""
"``print_func``: Функция для вывода всех системных сообщений (по умолчанию"
" ``rich.Console().print``)."
#: ../../root/api/app/index.rst:42
#, fuzzy
msgid "``printer``: Функция для вывода всех системных сообщений."
msgstr ""
"``print_func``: Function for outputting all system messages (defaults to "
"``rich.Console().print``)."
#: ../../root/api/app/index.rst:53
#: ../../root/api/app/index.rst:47
msgid ""
"В приложениях на Argenta регистр вводимых команд не важен, проверка на "
"существование и роутинг команд производится на основании триггеров, "
"приведённых к нижнему регистру."
msgstr ""
"In applications on Argenta, the case of the entered commands is not important, checking for the "
" existence and routing of commands is performed based on triggers "
"reduced to lowercase."
"In applications on Argenta, the case of the entered commands is not "
"important, checking for the existence and routing of commands is "
"performed based on triggers reduced to lowercase."
#: ../../root/api/app/index.rst:56
#: ../../root/api/app/index.rst:50
msgid "Основные методы"
msgstr "Main Methods"
#: ../../root/api/app/index.rst:60
#: ../../root/api/app/index.rst:54
msgid ""
"Регистрирует роутер в приложении. Все команды из этого роутера становятся"
" доступными для вызова."
@@ -137,19 +136,19 @@ msgstr ""
msgid "Parameters"
msgstr "Parameters"
#: ../../root/api/app/index.rst:62
#: ../../root/api/app/index.rst:56
msgid "Экземпляр ``Router`` для регистрации."
msgstr "``Router`` instance to register."
#: ../../root/api/app/index.rst:66
#: ../../root/api/app/index.rst:60
msgid "Регистрирует несколько роутеров одновременно."
msgstr "Registers multiple routers simultaneously."
#: ../../root/api/app/index.rst:68
#: ../../root/api/app/index.rst:62
msgid "Последовательность экземпляров ``Router`` для регистрации."
msgstr "Sequence of ``Router`` instances to register."
#: ../../root/api/app/index.rst:72
#: ../../root/api/app/index.rst:66
msgid ""
"Добавляет текстовое сообщение, которое выводится при запуске приложения "
"после ``initial_message``."
@@ -157,11 +156,11 @@ msgstr ""
"Adds a text message that is displayed when the application starts after "
"``initial_message``."
#: ../../root/api/app/index.rst:74
#: ../../root/api/app/index.rst:68
msgid "Строка с сообщением."
msgstr "String with the message."
#: ../../root/api/app/index.rst:77
#: ../../root/api/app/index.rst:71
msgid ""
"Для вывода стандартных сообщений можно использовать готовые шаблоны из "
":ref:`PredefinedMessages <root_api_predefined_messages>`."
@@ -169,11 +168,11 @@ msgstr ""
"For outputting standard messages, you can use ready-made templates from "
":ref:`PredefinedMessages <root_api_predefined_messages>`."
#: ../../root/api/app/index.rst:82
#: ../../root/api/app/index.rst:76
msgid "Методы установки обработчиков"
msgstr "Handler Setup Methods"
#: ../../root/api/app/index.rst:84
#: ../../root/api/app/index.rst:78
msgid ""
"``App`` позволяет настраивать реакцию на различные события, такие как "
"ошибки ввода или неизвестные команды."
@@ -181,7 +180,7 @@ msgstr ""
"``App`` allows you to configure responses to various events, such as "
"input errors or unknown commands."
#: ../../root/api/app/index.rst:87
#: ../../root/api/app/index.rst:81
msgid ""
"Подробнее об исключениях и их обработке в соответствующем :ref:`разделе "
"документации <root_error_handling>`."
@@ -189,59 +188,59 @@ msgstr ""
"For more details on exceptions and their handling, see the corresponding "
":ref:`documentation section <root_error_handling>`."
#: ../../root/api/app/index.rst:93
#: ../../root/api/app/index.rst:87
msgid "Устанавливает шаблон для форматирования описания команды."
msgstr "Sets the template for formatting command descriptions."
#: ../../root/api/app/index.rst:95
#: ../../root/api/app/index.rst:89
msgid "Обработчик принимает триггер команды (``str``) и её описание (``str``)."
msgstr ""
"The handler accepts the command trigger (``str``) and its description "
"(``str``)."
#: ../../root/api/app/index.rst:101
#: ../../root/api/app/index.rst:95
msgid "Устанавливает обработчик при некорректном введённом синтаксисе флагов."
msgstr "Sets the handler for incorrect flag syntax input."
#: ../../root/api/app/index.rst:103 ../../root/api/app/index.rst:111
#: ../../root/api/app/index.rst:97 ../../root/api/app/index.rst:105
msgid "Обработчик принимает строку, введённую пользователем."
msgstr "The handler accepts the string entered by the user."
#: ../../root/api/app/index.rst:109
#: ../../root/api/app/index.rst:103
msgid "Устанавливает обработчик при повторяющихся флагах в введённой команде."
msgstr "Sets the handler for duplicate flags in the entered command."
#: ../../root/api/app/index.rst:117
#: ../../root/api/app/index.rst:111
msgid "Устанавливает обработчик при вводе неизвестной команды."
msgstr "Sets the handler for entering an unknown command."
#: ../../root/api/app/index.rst:119
#: ../../root/api/app/index.rst:113
msgid "Обработчик принимает объект ``InputCommand`` - объект введённой команды."
msgstr ""
"The handler accepts an ``InputCommand`` object - the entered command "
"object."
#: ../../root/api/app/index.rst:125
#: ../../root/api/app/index.rst:119
msgid "Устанавливает обработчик при вводе пустой строки."
msgstr "Sets the handler for entering an empty string."
#: ../../root/api/app/index.rst:127
#: ../../root/api/app/index.rst:121
msgid "Обработчик не принимает аргументов."
msgstr "The handler accepts no arguments."
#: ../../root/api/app/index.rst:133
#: ../../root/api/app/index.rst:127
msgid "Переопределяет стандартное поведение при вызове команды выхода."
msgstr "Overrides the default behavior when the exit command is invoked."
#: ../../root/api/app/index.rst:135
#: ../../root/api/app/index.rst:129
msgid "Обработчик принимает объект ``Response``."
msgstr "The handler accepts a ``Response`` object."
#: ../../root/api/app/index.rst:148
#: ../../root/api/app/index.rst:142
msgid "PredefinedMessages"
msgstr "PredefinedMessages"
#: ../../root/api/app/index.rst:150
#: ../../root/api/app/index.rst:144
msgid ""
"``PredefinedMessages`` — это контейнер, содержащий набор готовых к "
"использованию сообщений. Они отформатированы с использованием синтаксиса "
@@ -252,31 +251,31 @@ msgstr ""
"messages. They are formatted using ``rich`` syntax and are intended for "
"displaying standard information, such as usage hints."
#: ../../root/api/app/index.rst:152
#: ../../root/api/app/index.rst:146
msgid "Рекомендуется использовать их при старте приложения."
msgstr "It is recommended to use them when starting the application."
#: ../../root/api/app/index.rst:179
#: ../../root/api/app/index.rst:173
msgid "Строка: ``[b dim]Usage[/b dim]: [i]<command> <[green]flags[/green]>[/i]``"
msgstr "String: ``[b dim]Usage[/b dim]: [i]<command> <[green]flags[/green]>[/i]``"
#: ../../root/api/app/index.rst:181
#: ../../root/api/app/index.rst:175
msgid "Отображается как: ``Usage: <command> <flags>``"
msgstr "Displayed as: ``Usage: <command> <flags>``"
#: ../../root/api/app/index.rst:185
#: ../../root/api/app/index.rst:179
msgid "Строка: ``[b dim]Help[/b dim]: [i]<command>[/i] [b red]--help[/b red]``"
msgstr "String: ``[b dim]Help[/b dim]: [i]<command>[/i] [b red]--help[/b red]``"
#: ../../root/api/app/index.rst:187
#: ../../root/api/app/index.rst:181
msgid "Отображается как: ``Help: <command> --help``"
msgstr "Displayed as: ``Help: <command> --help``"
#: ../../root/api/app/index.rst:191
#: ../../root/api/app/index.rst:185
msgid "Строка: ``[b dim]Autocomplete[/b dim]: [i]<part>[/i] [bold]<tab>``"
msgstr "String: ``[b dim]Autocomplete[/b dim]: [i]<part>[/i] [bold]<tab>``"
#: ../../root/api/app/index.rst:193
#: ../../root/api/app/index.rst:187
msgid "Отображается как: ``Autocomplete: <part> <tab>``"
msgstr "Displayed as: ``Autocomplete: <part> <tab>``"
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-02 22:29+0300\n"
"POT-Creation-Date: 2026-02-06 23:44+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -30,10 +30,11 @@ msgid ""
"позволяет получать внешнюю конфигурацию в момент старта (например, путь к"
" файлу настроек, флаги отладки или режим запуска)."
msgstr ""
"``ArgParser`` is designed for processing **command-line arguments** passed to the "
"application at startup. It's important not to confuse them with flags that the user "
"enters in interactive mode. ``ArgParser`` allows receiving external configuration at "
"startup (e.g., path to settings file, debug flags, or launch mode)."
"``ArgParser`` is designed for processing **command-line arguments** "
"passed to the application at startup. It's important not to confuse them "
"with flags that the user enters in interactive mode. ``ArgParser`` allows"
" receiving external configuration at startup (e.g., path to settings "
"file, debug flags, or launch mode)."
#: ../../root/api/orchestrator/argparser.rst:11
msgid "Инициализация"
@@ -81,8 +82,9 @@ msgid ""
"экземпляр ``ArgParser``, атрибут ``parsed_argspace`` будет содержать "
"пустой ``ArgSpace``."
msgstr ""
"Before initializing ``Orchestrator``, to whose constructor an ``ArgParser`` instance "
"was passed, the ``parsed_argspace`` attribute will contain an empty ``ArgSpace``."
"Before initializing ``Orchestrator``, to whose constructor an "
"``ArgParser`` instance was passed, the ``parsed_argspace`` attribute will"
" contain an empty ``ArgSpace``."
#: ../../root/api/orchestrator/argparser.rst:40
msgid ""
@@ -90,8 +92,9 @@ msgid ""
"``Orchestrator``, поэтому использовать ``parsed_argspace`` "
"**целесообразно только после** этого."
msgstr ""
"Parsing and validation of arguments occur during ``Orchestrator`` initialization, "
"so using ``parsed_argspace`` is **advisable only after** that."
"Parsing and validation of arguments occur during ``Orchestrator`` "
"initialization, so using ``parsed_argspace`` is **advisable only after** "
"that."
#: ../../root/api/orchestrator/argparser.rst:45
msgid "Лучшие практики"
@@ -104,9 +107,10 @@ msgid ""
"``ArgSpace`` через DI. Подробнее см. :ref:`здесь "
"<root_dependency_injection>`."
msgstr ""
"Using the ``parsed_argspace`` attribute is recommended only during the application "
"setup phase. In handlers, the best practice is to obtain ``ArgSpace`` through DI. "
"For more details, see :ref:`here <root_dependency_injection>`."
"Using the ``parsed_argspace`` attribute is recommended only during the "
"application setup phase. In handlers, the best practice is to obtain "
"``ArgSpace`` through DI. For more details, see :ref:`here "
"<root_dependency_injection>`."
#: ../../root/api/orchestrator/argparser.rst:49
msgid "**Пример использования:**"
@@ -129,8 +133,8 @@ msgid ""
"При работе с аргументами командной строки стандартный ``ArgumentParser`` "
"автоматически обрабатывает следующие ситуации:"
msgstr ""
"When working with command-line arguments, the standard ``ArgumentParser`` "
"automatically handles the following situations:"
"When working with command-line arguments, the standard ``ArgumentParser``"
" automatically handles the following situations:"
#: ../../root/api/orchestrator/argparser.rst:63
msgid "**Отсутствие обязательного аргумента:**"
@@ -149,6 +153,12 @@ msgid ""
"При использовании аргумента с ``is_deprecated=True`` выводится "
"предупреждение, но выполнение продолжается:"
msgstr ""
"When using an argument with ``is_deprecated=True``, a warning is displayed, "
"but execution continues:"
"When using an argument with ``is_deprecated=True``, a warning is "
"displayed, but execution continues:"
#: ../../root/api/orchestrator/argparser.rst:90
msgid ""
"Параметр поддерживается начиная с версии CPython 3.13, если версия ниже, "
"то параметр будет игнорироваться."
msgstr ""
+293
View File
@@ -0,0 +1,293 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025, kolo
# This file is distributed under the same license as the Argenta package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2026.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-02-06 23:44+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n"
#: ../../root/metrics.rst:2
msgid "Метрики"
msgstr "Metrics"
#: ../../root/metrics.rst:4
msgid ""
"Система метрик ``Argenta`` предоставляет инструменты для измерения "
"производительности ключевых компонентов библиотеки. Это позволяет "
"отслеживать регрессию/прогрессию производительности между релизами и "
"оптимизировать критические участки кода."
msgstr ""
"The ``Argenta`` metrics system provides tools for measuring the performance "
"of key library components. This allows tracking performance regression/progression "
"between releases and optimizing critical code sections."
#: ../../root/metrics.rst:9
msgid "Запуск метрик"
msgstr "Running Metrics"
#: ../../root/metrics.rst:11
msgid ""
"Для работы с метриками необходимо склонировать репозиторий и установить "
"зависимости:"
msgstr ""
"To work with metrics, you need to clone the repository and install "
"dependencies:"
#: ../../root/metrics.rst:19
msgid "Запуск системы метрик:"
msgstr "Running the metrics system:"
#: ../../root/metrics.rst:25
msgid ""
"После запуска откроется интерактивная сессия с доступными командами для "
"работы с бенчмарками."
msgstr ""
"After launch, an interactive session will open with available commands for "
"working with benchmarks."
#: ../../root/metrics.rst:30
msgid "Доступные команды"
msgstr "Available Commands"
#: ../../root/metrics.rst:33
msgid "run-all"
msgstr "run-all"
#: ../../root/metrics.rst:35
msgid ""
"Запускает все зарегистрированные бенчмарки и выводит результаты в виде "
"таблиц."
msgstr ""
"Runs all registered benchmarks and outputs results as tables."
#: ../../root/metrics.rst:37 ../../root/metrics.rst:55
#: ../../root/metrics.rst:78 ../../root/metrics.rst:97
#: ../../root/metrics.rst:117
msgid "**Синтаксис:**"
msgstr "**Syntax:**"
#: ../../root/metrics.rst:43 ../../root/metrics.rst:84
#: ../../root/metrics.rst:103
msgid "**Флаги:**"
msgstr "**Flags:**"
#: ../../root/metrics.rst:45
msgid ""
"``--without-gc`` — отключает сборщик мусора во время выполнения "
"бенчмарков для более стабильных результатов"
msgstr ""
"``--without-gc`` — disables garbage collector during benchmark execution "
"for more stable results"
#: ../../root/metrics.rst:46
msgid "``--without-system-info`` — скрывает информацию о системе в выводе"
msgstr "``--without-system-info`` — hides system information in output"
#: ../../root/metrics.rst:51
msgid "list-types"
msgstr "list-types"
#: ../../root/metrics.rst:53
msgid ""
"Выводит список всех доступных типов бенчмарков с количеством тестов в "
"каждой категории."
msgstr ""
"Displays a list of all available benchmark types with the number of tests "
"in each category."
#: ../../root/metrics.rst:61
msgid "**Пример вывода:**"
msgstr "**Example output:**"
#: ../../root/metrics.rst:74
msgid "run-type"
msgstr "run-type"
#: ../../root/metrics.rst:76
msgid "Запускает бенчмарки определённого типа."
msgstr "Runs benchmarks of a specific type."
#: ../../root/metrics.rst:86
msgid "``--type`` — тип бенчмарков для запуска (обязательный)"
msgstr "``--type`` — benchmark type to run (required)"
#: ../../root/metrics.rst:87 ../../root/metrics.rst:106
msgid "``--without-gc`` — отключает сборщик мусора"
msgstr "``--without-gc`` — disables garbage collector"
#: ../../root/metrics.rst:88
msgid "``--without-system-info`` — скрывает информацию о системе"
msgstr "``--without-system-info`` — hides system information"
#: ../../root/metrics.rst:93
msgid "diagrams-generate"
msgstr "diagrams-generate"
#: ../../root/metrics.rst:95
msgid ""
"Генерирует визуальные диаграммы сравнения производительности для всех "
"бенчмарков."
msgstr ""
"Generates visual performance comparison diagrams for all benchmarks."
#: ../../root/metrics.rst:105
msgid ""
"``--iterations`` — количество итераций для каждого бенчмарка (по "
"умолчанию 100)"
msgstr ""
"``--iterations`` — number of iterations for each benchmark (default 100)"
#: ../../root/metrics.rst:108
msgid ""
"Диаграммы сохраняются в директорию "
"``metrics/reports/diagrams/<timestamp>/``."
msgstr ""
"Diagrams are saved to the ``metrics/reports/diagrams/<timestamp>/`` directory."
#: ../../root/metrics.rst:113
msgid "release-generate"
msgstr "release-generate"
#: ../../root/metrics.rst:115
msgid ""
"Генерирует полный отчёт о производительности для текущей версии "
"библиотеки. Используется при подготовке релизов."
msgstr ""
"Generates a complete performance report for the current library version. "
"Used when preparing releases."
#: ../../root/metrics.rst:123
msgid "Команда автоматически:"
msgstr "The command automatically:"
#: ../../root/metrics.rst:125
msgid "Определяет текущую версию библиотеки"
msgstr "Determines the current library version"
#: ../../root/metrics.rst:126
msgid "Запускает все бенчмарки с 1000 итераций и отключённым GC"
msgstr "Runs all benchmarks with 1000 iterations and disabled GC"
#: ../../root/metrics.rst:127
msgid "Генерирует JSON-отчёты и диаграммы сравнения"
msgstr "Generates JSON reports and comparison diagrams"
#: ../../root/metrics.rst:128
msgid "Сохраняет результаты в ``metrics/reports/releases/<version>/``"
msgstr "Saves results to ``metrics/reports/releases/<version>/``"
#: ../../root/metrics.rst:133
msgid "Интерпретация результатов"
msgstr "Interpreting Results"
#: ../../root/metrics.rst:135
msgid "Результаты бенчмарков включают следующие метрики:"
msgstr "Benchmark results include the following metrics:"
#: ../../root/metrics.rst:137
msgid "**Среднее время (mean)**"
msgstr "**Mean time (mean)**"
#: ../../root/metrics.rst:138
msgid ""
"Среднее время выполнения операции. Основная метрика для сравнения "
"производительности."
msgstr ""
"Average operation execution time. The primary metric for performance comparison."
#: ../../root/metrics.rst:140
msgid "**Медиана (median)**"
msgstr "**Median (median)**"
#: ../../root/metrics.rst:141
msgid ""
"Медианное значение времени выполнения. Менее чувствительна к выбросам, "
"чем среднее."
msgstr ""
"Median execution time value. Less sensitive to outliers than the mean."
#: ../../root/metrics.rst:143
msgid "**Стандартное отклонение (std)**"
msgstr "**Standard deviation (std)**"
#: ../../root/metrics.rst:144
msgid ""
"Показывает стабильность измерений. Меньшее значение означает более "
"предсказуемую производительность."
msgstr ""
"Shows measurement stability. A lower value means more predictable performance."
#: ../../root/metrics.rst:149
msgid "Рекомендации по использованию"
msgstr "Usage Recommendations"
#: ../../root/metrics.rst:151
msgid "**Для оптимизации**"
msgstr "**For optimization**"
#: ../../root/metrics.rst:152
msgid ""
"Используйте ``run-type`` для фокусировки на конкретной области и "
"``--without-gc`` для более точных измерений."
msgstr ""
"Use ``run-type`` to focus on a specific area and ``--without-gc`` for more "
"accurate measurements."
#: ../../root/metrics.rst:154
msgid "**Для визуализации**"
msgstr "**For visualization**"
#: ../../root/metrics.rst:155
msgid ""
"Команда ``diagrams-generate`` создаёт наглядные графики, удобные для "
"презентаций и документации."
msgstr ""
"The ``diagrams-generate`` command creates clear charts suitable for "
"presentations and documentation."
#: ../../root/metrics.rst:157
msgid "**Для стабильных результатов**"
msgstr "**For stable results**"
#: ../../root/metrics.rst:158
msgid ""
"Закройте ресурсоёмкие приложения, используйте флаг ``--without-gc`` и "
"увеличивайте количество итераций через ``--iterations``."
msgstr ""
"Close resource-intensive applications, use the ``--without-gc`` flag, and "
"increase the number of iterations via ``--iterations``."
#: ../../root/metrics.rst:163
msgid "Добавление новых бенчмарков"
msgstr "Adding New Benchmarks"
#: ../../root/metrics.rst:165
msgid ""
"Вы можете реализовать свои бенчмарки для тестирования специфичных юнитов "
"библиотеки. Новые бенчмарки добавляются через декоратор "
"``@benchmarks.register``:"
msgstr ""
"You can implement your own benchmarks to test specific library units. "
"New benchmarks are added via the ``@benchmarks.register`` decorator:"
#: ../../root/metrics.rst:173
msgid ""
"Бенчмарк должен быть импортирован в ``metrics/benchmarks/__init__.py`` "
"для автоматической регистрации."
msgstr ""
"The benchmark must be imported in ``metrics/benchmarks/__init__.py`` for "
"automatic registration."
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Argenta \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-04 20:39+0300\n"
"POT-Creation-Date: 2026-02-06 23:44+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
@@ -90,20 +90,20 @@ msgstr "Output Customization"
#: ../../root/overriding_formatting.rst:32
msgid ""
"Для полной замены логики вывода текста в конструкторе ``App`` "
"предусмотрен параметр ``print_func``."
"предусмотрен параметр ``printer``."
msgstr ""
"For complete replacement of text output logic, the ``App`` constructor "
"provides the ``print_func`` parameter."
"provides the ``printer`` parameter."
#: ../../root/overriding_formatting.rst:34
msgid ""
"**print_func**: ``Callable[[str], None]`` Этот параметр позволяет "
"передать любую вызываемую сущность (например, функцию), которая будет "
"**printer**: ``Callable[[str], None]`` Этот параметр позволяет передать "
"любую вызываемую сущность (например, функцию), которая будет "
"использоваться для вывода всех системных сообщений. По умолчанию это "
"``rich.console.Console().print``. Вы можете передать сюда свою функцию, "
"чтобы, например, логировать вывод в файл или отправлять его по сети."
msgstr ""
"**print_func**: ``Callable[[str], None]`` This parameter allows passing "
"**printer**: ``Callable[[str], None]`` This parameter allows passing "
"any callable entity (for example, a function) that will be used to output"
" all system messages. By default, this is "
"``rich.console.Console().print``. You can pass your own function here to,"
+3 -11
View File
@@ -164,17 +164,9 @@ release-generate
Вы можете реализовать свои бенчмарки для тестирования специфичных юнитов библиотеки. Новые бенчмарки добавляются через декоратор ``@benchmarks.register``:
.. code-block:: python
from metrics.benchmarks.entity import benchmarks
@benchmarks.register(
type_="my_category",
description="Description of what is being measured"
)
def benchmark_my_operation() -> None:
# Код, производительность которого измеряется
pass
.. literalinclude:: ../code_snippets/metrics/add_new_benchmark.py
:language: python
:linenos:
.. important::