montana/Монтана-Протокол/Код/.cargo/config.toml

33 lines
1.8 KiB
TOML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Workspace-wide cargo configuration.
#
# Цель: один процесс / один поток на cargo build + cargo test.
# Причина: предотвращение перегрева машины автора. Тесты mt-mnemonic
# выполняют PBKDF2-HMAC-SHA-256 с iter=2²⁰ (1 048 576 итераций SHA-256,
# anti-brute-force защита mnemonic per spec раздел "Ключи → Мнемоника и
# seed → M-1"). При parallel выполнении 6+ тестов на 5+ ядрах одновременно
# — взрыв CPU (528%+, idle 0%) и нагрев машины.
#
# Два уровня контроля parallelism (оба обязательны):
#
# 1. [build] jobs = 1 — ограничивает cargo до 1 process одновременно.
# Cargo при `cargo test` запускает несколько test binaries для разных
# integration tests + unit tests; этот флаг ограничивает их до 1 process
# одновременно (последовательное выполнение test binaries).
#
# 2. RUST_TEST_THREADS=1 — ограничивает потоки ВНУТРИ одного test binary
# до 1 (тесты в одном файле выполняются последовательно).
#
# Без обоих ограничений автор видел в Activity Monitor 569% CPU
# (keygen_vectors-881... 355% + mt_mnemonic-3bfc... 214% параллельно).
#
# Trade-off: тесты выполняются медленнее (sum of times вместо max), но
# author convenience + защита от перегрева > CI/dev speed.
#
# Override для конкретного запуска: явно передать `--jobs N` либо
# `--test-threads=N` через cargo flags.
[build]
jobs = 1
[env]
RUST_TEST_THREADS = "1"