BenchmarkDotNet icon indicating copy to clipboard operation
BenchmarkDotNet copied to clipboard

questions to help with future PRs

Open radical opened this issue 3 years ago • 0 comments

  1. DotNetCliExecutor uses SynchronousProcessOutputLoggerWithDiagnoser, which reads stdout (only) synchronously, and once it gets AfterAll signal, it stops reading. But this means that we miss any output after that line, which could be some error messages. And these can be helpful if, say, the process didn't quit in the 2s after this.

    • Would it be acceptable to make this similar to AsyncProcessOutputReader, such that you have a ProcessInput(exitTimeout), which continues to read the output for 2s after AfterAll, and then returns?
    • Or maybe refactor a bit to use AsyncProcessOutputReader instead (+message processing)?
  2. ~I want to add support for showing build output, for long running builds like wasm AOT. Should I plumb that as --showBuildOutput to ConfigOptions.ShowBuildOutput, and then through the call chain to the output readers? Or would it be fine to maybe add a environment variable to control this?~

  3. If a build fails, then we try again with --no-dependencies. Why is that? That can hide issues, and cause incorrect builds to be run. If it's needed, then it might be useful to add an option to skip it, not via command line but when defining the toolchain.

cc @adamsitnik

radical avatar Mar 17 '22 19:03 radical