EgorBot manual
```
Usage: @EgorBot [-%target%] [-profiler] [raw args for BDN] `C# snippet surrounded with triple ticks`
```
```
-%target%: Can be -arm64, -amd or -intel. Or multiple at once, e.g. '-amd -intel'
-intel is used when none of the targets are specified.
-profiler: Use 'perf record' to collect a flamegraph/hot asm - shouldn't be used
when the given benchmark snippet contains more than one [Benchmark]
Disabled by default.
-commit: E.g. '-commit 72ea87f vs 380898a' or just '-commit 72ea87f'
Runs the benchmark on the specified commit(s) (PR is ignored)
-mono: Use Mono runtime instead of CoreCLR for all targets. Should be possible to use
Mono interp too (LLVM is not supported yet).
Mono doesn't support -profiler (at least JIT)
To use mono-interp, use BDN args, e.g. --envvars MONO_ENV_OPTIONS:"--interpreter"
Disabled by default.
-perflab: Run dotnet/performance microbenchmarks (consider running with --filter)
-[args for BDN]: Args directly passed to BDN e.g. '--disasm', see
https://github.com/dotnet/BenchmarkDotNet/blob/master/docs/articles/guides/console-args.md
```
All targets are Linux-only at the moment.
NOTE: `BenchmarkRunner.Run` or `BenchmarkSwitcher.From*` can be omitted (snippet without an entrypoint)
Although, if they're presented then Program's args must be be forwarded to `Run(args: args)`
NOTE: [DisassemblyDiagnoser] may cause unexpected crashes in BDN on Linux (at least on x64)
Examples:
-intel -arm64 -perf --envvars DOTNET_JitDisasm:Foo
Usage example: [link](https://github.com/dotnet/runtime/pull/99871#issuecomment-2138361905)
Processing https://github.com/EgorBo/UtilsRunner/issues/8#issuecomment-2323380074