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

Merge from original repo. #1

Merged
merged 203 commits into from
Nov 1, 2020
Merged

Merge from original repo. #1

merged 203 commits into from
Nov 1, 2020

Conversation

marcnet80
Copy link
Owner

Merge from original repo to update my forked repo.

WojciechNagorski and others added 30 commits July 23, 2019 10:45
* Support of --profiler NativeMemory command line argument

* Add information about exported files

* Rename NativeMemoryDiangoser to NativeMemoryProfiler

* Small fix
* Plots with a double dash (--) in the names (#1183)

#1183

* Plots with a double dash (--) in the names (#1183) 

remove "Default"

* Plots with a double dash (--) in the names (#1183) 

fix assignment operations

* Plots with a double dash (--) in the names (#1183) 

replace assignments operator

* Plots with a double dash (--) in the names (#1183)

#1212
… attributes to define multiple runtime jobs (#1188)

* CoreRT no longer publishes to MyGet, update the comment and property name

* introduce TargetFrameworkJobAttribute which requires the users to provide TFM in explicit way

it's going to help us avoid a lot of confusion and issues in the future

* make ClrJobAttribute, CoreJobAttribute, CoreRtJobAttribute obsolete

* make DryClrJobAttribute, DryCoreJobAttribute, DryCoreRtJobAttribute obsolete

* the intro to fluent config should be using fluent API only, not attributes

* simplify the sample from the welcome page to make sure our users don't get any errors about missing runtimes

* rename Netcoreapp to NetCoreApp

* improve error messages

* add .NET Core 3.1 and  5.0 support

* use enum where possible

* improve the docs

* add error handling for the missing SDK

* explain Version compatibility in the .NET Framework in the docs

* make current .NET Core version detection more robust and future proof
* implement tests

* fix: cast to parameter/argument type, not to argument value type
* implement tests

* implement the diagnoser

* make the tests pass

* make it work for CoreRT

* add console line argument and new attribute

* make it a warning, not error (to support -f netcoreapp2.x --runtimes netcoreapp3.0)

* add docs

* update release docs

* avoid "No data found" exception for dotnet test -f netcoreapp2.1

* code review fixes
* further runtime detection improvements

* Testing local builds of Full .NET Framework is supported only on Windows

* improve .NET Core version detection fixes #995
* fix iteration cleanup bug
)

* Improve messages in NativeMemoryProfiler

* Use default artifacts path instead of null value

* Add tests
- Extract CreateSummary method for benchmarks with metrics
- Extract FakeMetricDescriptor into separate file
- CsvExporter now prints '0' instead of '-' in the report
- Add PrintZeroValuesInContent option in SummaryStyle to control it (by default it is false)
- Add tests to cover changed behavior

Closes #1168
* Add "dotnet new" benchmark project template

* Add multi-framework support

* Add VB.NET and F# template

Fix typos.
Align accordingly to PR feedback

* Fix Fsharp template

* Adjusted accordingly to the PR review

* One nuget package for all templates
* No floating version for nuget references
* --no-restore instead of skipRestore
* `BenchmarkDotNet.Diagnostics.Windows` only on Windows
* Sync template version with BenchmarkDotNet version

* Adds documentation for BenchmarkDotNet templates

* Fixes all author information

* Add <Configuration>Release</Configuration>

* Add --console-app as template parameter

* --console-app is an optional template parameter to create a console app project.
* Minor fixes and better default names.
* Updating docs
adamsitnik and others added 29 commits July 16, 2020 17:18
* Executor should set WorkingDirectory for WASM

* print .NET Core (Mono) {version} instead of just "Wasm"

* introduce new Architecture enum value

* don't display RyuJIT as JIT info when using Wasm

* rename WASM -> Wasm

* add samples

* add docs

* mention Wasm (and other architectures) in the main README.md file
* Update BenchmarkDotNet.Disassembler.x64.csproj

* Update BenchmarkDotNet.Disassembler.x86.csproj

* Update BenchmarkDotNet.csproj

* Replace obsoletes
…1507)

* Change mono-config format to new version, support icu for internationalization.

* Added timezone information to virtual file system.

Co-authored-by: Symbai <[email protected]>
Force `MeasurementsStatistics` to never allocate on the heap
* netcoreapp5.0 -> net5.0 (I love it.... NOT)

* don't display "Core" for the >= 5.0 Runtimes, don't display CoreFx and CoreCLR versions (they are the same since repos got merged):

- .NET Core 5.0.0 (CoreCLR 5.0.20.36102, CoreFX 5.0.20.36102), X64 RyuJIT
+.NET 5.0.0 (5.0.20.36102), X64 RyuJIT

* .NET 6.0

* make sure CoreRT toolchain is aware of .NET 6.0

* rename .NET Core SDK => .NET SDK
* Add BuildResult to DiagnoserResults

* Update Microsoft.Diagnostics.Tracing.TraceEvent

* Improve common.props

* Fix NativeMemoryProfiler for .Net Framework

* Fix NativeMemoryProfiler for .Net Core
* make sure that TraceLogParser populates IP to hardware counter dictionary

* make EtwProfiler implement the property required by InstructionPointerExporter

* improve the exported file name so it contains runtime ID and arch info
* we should consider trace file extension as part of the name

* add failing test case

* don't use long paths for file names, even if the Windows feature is enabled, fixes #1544

* update TraceEvent to the latest version

* nit: user Assert.Range that gives a clear error message instead of a very general Assert.True

* handle one more edge case
* new versions of .NET Core should not use "netcoreapp" word in the target framework moniker

example: .NET Core 6.0 is just .NET 6 and has a "net6.0" moniker

* add tests that ensure that new Platform-specific TFMs are recognized by BenchmarkPartitioner

* recognize Platform-specific apps using... reflection ;)

* make sure that a platform-specific TFM creates corresponding toolchain that is equatable with other instances

* extend console args support with the platform-specific monikers
* don't remove the auto-generated files when the build fails

* print a nice error with a link to troubleshooting guide

* update the troubleshooting guide
…nting the results (#1571)

* add test

* dispose unused dispsable parameters

* stop the benchmark process output stream processing after receiving the last signal

* don't try to read the standard error as it might also hang

the benchmark process is catching all exceptions and writing to standard output, so it's OK (this is what the class Executor does already)

* kill benchmarking process if it does not quit within 250ms after finishing benchmarking

* exit code can be != 0 for benchmarks that have executed fine but hanged after printing the results

* some benchmarks might be using parameters that have locking finalizers

so we need to dispose them after we are done running the benchmarks

see #1383 and dotnet/runtime#314 for more
* remove the source code of the Tool

* Update the how-to-run doc

* remove the mentions of the tool from the docs

* fix the CI build errors

* removing projects manually from solution file was a bad idea
…n lasts longer than IterationTime (#1573)

* add the test

* if the Jitting took more than IterationTime but still less than 1s (a magic number based on observations of the reported bug)

we call it one more time to see if Jitting itself has not dominated the first invocation
if it did, it shoud NOT be a single invocation engine (fixes #837, fixes #1337 and fixes #1338)
@marcnet80 marcnet80 merged commit fd34d28 into marcnet80:master Nov 1, 2020
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

Successfully merging this pull request may close these issues.