__all__ = [ "benchmark_parse_simple_command", "benchmark_command_with_few_flags", "benchmark_command_with_flags_and_values", "benchmark_command_with_mixed_prefixes", "benchmark_command_with_long_values", "benchmark_command_with_quoted_values", "benchmark_extreme_many_flags", ] from argenta.command.models import InputCommand from .entity import benchmarks @benchmarks.register(type_="input_command_parse", description="Simple command (no flags)") def benchmark_parse_simple_command() -> None: InputCommand.parse("start") @benchmarks.register(type_="input_command_parse", description="Command with few flags (3 flags)") def benchmark_command_with_few_flags() -> None: InputCommand.parse("start -a -b -c") @benchmarks.register( type_="input_command_parse", description="Command with flags and values (5 flags)" ) def benchmark_command_with_flags_and_values() -> None: InputCommand.parse("start --host localhost --port 8080 --debug --verbose -c config.json") @benchmarks.register( type_="input_command_parse", description="Command with mixed prefixes (-, --, ---)" ) def benchmark_command_with_mixed_prefixes() -> None: InputCommand.parse("cmd -a --bb ---ccc -d value --ee value2 ---fff value3") @benchmarks.register(type_="input_command_parse", description="Command with long values (10 flags)") def benchmark_command_with_long_values() -> None: long_value = "a" * 100 cmd = f"process --data {long_value} --config {long_value} --output {long_value}" InputCommand.parse(cmd) @benchmarks.register( type_="input_command_parse", description="Command with quoted values (5 flags)" ) def benchmark_command_with_quoted_values() -> None: InputCommand.parse("cmd --text 'hello world' --path '/usr/local/bin' --msg \"test message\"") @benchmarks.register(type_="input_command_parse", description="Extreme (50 flags with values)") def benchmark_extreme_many_flags() -> None: flags = " ".join(f"--flag{i} value{i}" for i in range(50)) InputCommand.parse(f"command {flags}")