Digests » 153
You can use millions of tasks, provided throughput is modest (a few thousand operations per second), at the cost of a modest amount of memory and negligible CPU overhead. Avoid using tasks in extreme throughput scenarios (millions of operations per second), the CPU overhead is huge.
Over the past few months in the little spare time that I have, I've managed to submit a handful of pull requests to various .NET-related repositories (e.g. coreclr, corefx, docs, etc.) and incredibly, they were accepted.
I mentioned that we are doing some work to enable de-virtualization of our code, as well as getting ready for CoreCLR changes that will get the JIT to do more de-virtualization.
If you’re a seasoned .NET developer familiar with Entity Framework, then you may already know that EF provides an abstraction over the database, effectively giving us a repository and unit of work.
A while back, we were performance profiling an application and noticed a big performance bottleneck while mapping objects using AutoMapper. Mapping is of course somewhat expensive, but the numbers we were seeing were way higher than expected: mapping was ridiculously slow!