Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EgorBot for EgorBo in #8 #5

Open
EgorBot opened this issue Sep 1, 2024 · 2 comments
Open

EgorBot for EgorBo in #8 #5

EgorBot opened this issue Sep 1, 2024 · 2 comments

Comments

@EgorBot
Copy link
Owner

EgorBot commented Sep 1, 2024

Processing https://github.com/EgorBo/UtilsRunner/issues/8#issuecomment-2323380074

@EgorBot
Copy link
Owner Author

EgorBot commented Sep 1, 2024

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

@EgorBot
Copy link
Owner Author

EgorBot commented Sep 1, 2024

cc @EgorBo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant