.net performance tuning

JB’s dot trace performance profiler is part of its dot ultimate suite(which includes the famous resharper)

the simplest way to use it is to attach to your already running process(the same setting can be reused next time), and check the “collect profiling data from start”, then hit run before the slow performance happens, then take a snapshot as soon as the slowness ends.

then go to the hot spots or just functions list, order by time.

it will give you where the slowness happened, and even system code that ran slow can be dug into who called them.

then you can use https://benchmarkdotnet.org/, a powerful benchmark tool to compare your different versions of implementation.

sample code:

DotNetCore 1.1 project.json升级到DotNetCore 2.0的csproj的遗留问题

<NetStandardImplicitPackageVersion>1.6.0</NetStandardImplicitPackageVersion>

   <RuntimeFrameworkVersion>1.1.1</RuntimeFrameworkVersion>
 <PackageTargetFallback>$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
都可以删掉

起因:https://github.com/dotnet/dotnet-docker/issues/281

libuv的问题能否解决还要再试试完全升级到2.0后有没有问题。