You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've been using secretspecs for several months and am a very happy user, especially as far as features and stability is concerned.
There is one thing I've noticed though:
Startup time seems to have increased recently.
I've benchmarked this on Windows PowerShell.
A simple secretspec --version takes takes around 6.5 seconds (average of 20 runs).
This happens even if I run secretspec in a dir without secretspec.toml, so it doesn't load any secrets.
I wonder what causes this?
Are there maybe some ways to optimize this, e.g. do some initializations lazily only when they are needed?
Maybe some inspiration can be taken from other FOSS tools that are already optimized for launch time, such as ruff?
I ran a Windows startup comparison in CI using the exact published x86_64 Windows executables for 0.19.1 and 0.20.0, plus the current checkout of IPC PR #362.
The benchmark launched each executable by absolute path from an empty working directory with UseShellExecute = false. Measurements were interleaved over 50 warm launches on the GitHub Windows Server 2025 runner.
CI therefore does not reproduce the 6.5-second startup. Although the v0.20 executable is 23% larger, its warm startup was not slower, and the upcoming IPC code caused no meaningful change. None of the CI files had Mark-of-the-Web metadata; all three executables were unsigned.
Could you share the SecretSpec version and install method, then run this in the same PowerShell session?
Using & $exe bypasses repeated PowerShell command lookup. The final command tells us whether the downloaded executable still carries quarantine metadata. If absolute-path launches remain around 6.5 seconds, the next useful trace would be Windows Performance Recorder or Process Monitor to identify antivirus/filesystem activity during process startup.
Update:
I'm still on the same version of secretspec and didn't really change anything (apart from maybe some automatic OS updates).
Yet launch time is now way better, in the milliseconds, even in the same project. Without any changes.
I can't really explain this, maybe it is something about the quarantine you mentioned?
Activity
domenkozar commentedon Sep 3, 2026
I ran a Windows startup comparison in CI using the exact published x86_64 Windows executables for 0.19.1 and 0.20.0, plus the current checkout of IPC PR #362.
The benchmark launched each executable by absolute path from an empty working directory with
UseShellExecute = false. Measurements were interleaved over 50 warm launches on the GitHub Windows Server 2025 runner.Run: https://github.com/cachix/secretspec/actions/runs/33815120939
CI therefore does not reproduce the 6.5-second startup. Although the v0.20 executable is 23% larger, its warm startup was not slower, and the upcoming IPC code caused no meaningful change. None of the CI files had Mark-of-the-Web metadata; all three executables were unsigned.
Could you share the SecretSpec version and install method, then run this in the same PowerShell session?
Using
& $exebypasses repeated PowerShell command lookup. The final command tells us whether the downloaded executable still carries quarantine metadata. If absolute-path launches remain around 6.5 seconds, the next useful trace would be Windows Performance Recorder or Process Monitor to identify antivirus/filesystem activity during process startup.GreenBean26 commentedon Sep 4, 2026
I've currently installed secretspec 0.20.0 with WinGet, I'm pretty sure cargbo-binstall also had a high startup time.
The Output of the command is this:
Thie final command only outputs something if I remove the
-ErrorAction SilentlyContinuepart:GreenBean26 commentedon Sep 4, 2026
Regarding using additional Tools to debug this:
I don't have admin permissions on this machine, so I can only contribute if they are not required.
GreenBean26 commentedon Sep 8, 2026
Update:
I'm still on the same version of secretspec and didn't really change anything (apart from maybe some automatic OS updates).
Yet launch time is now way better, in the milliseconds, even in the same project. Without any changes.
I can't really explain this, maybe it is something about the quarantine you mentioned?
domenkozar commentedon Sep 13, 2026
Would be great if someone on windows could debug this, I cannot reproduce it.
raayu83 commentedon Sep 13, 2026
JetBrains recently released a Tool to debug Defender issues, if this happens again I'll ask someone from IT to install it so I can debug this further.
domenkozar commentedon Sep 28, 2026
I'm going to close this for now, if it happens again please reopen and ask coding agents to debug it so we can fix it.