Showing results for Performance - .NET Blog

Dec 11, 2019
39
22

An Introduction to System.Threading.Channels

Stephen Toub - MSFT
Stephen Toub - MSFT

"Producer/consumer" problems are everywhere, in all facets of our lives. A line cook at a fast food restaurant, slicing tomatoes that are handed off to another cook to assemble a burger, which is handed off to a register worker to fulfill your order, which you happily gobble down. Postal drivers delivering mail all along their routes, and you eithe...

.NET.NET CoreC#
Dec 9, 2019
2
0

GC Perf Infrastructure – Part 1

maoni
maoni

We open sourced our new GC Perf Infrastructure! It’s now part of the dotnet performance repo. I’ve been meaning to write about it ‘cause some curious minds had been asking when they could use it after I blogged about it last time but didn’t get around to it till now. First of all, let me point out that the target audience of this infra, aside from...

.NET.NET Core.NET Framework
Sep 9, 2019
6
0

GC Perf Infrastructure – Part 0

maoni
maoni

In this blog entry and some future ones I will be showing off functionalities that our new GC perf infrastructure provides. Andy and I have been working on it (he did all the work; I merely played the consultant role). We will be open sourcing it soon and I wanted to give you some examples of using it and you can add these to your repertoire of per...

Performance.NET CoreGC
Sep 3, 2019
35
4

Hardware Intrinsics in .NET Core

Tanner Gooding [MSFT]
Tanner Gooding [MSFT]

Several years ago, we decided that it was time to support SIMD code in .NET. We introduced the System.Numerics namespace with , , , , and related types. These types expose a general-purpose API for creating, accessing, and operating on them using hardware vector instructions (when available). They also provide a software fallback for when the hardw...

.NET CorePerformance
May 15, 2019
60
1

Performance Improvements in .NET Core 3.0

Stephen Toub - MSFT
Stephen Toub - MSFT

Take a tour through some of the many improvements, big and small, that have gone into the .NET Core 3.0 runtime and core libraries to make apps and services leaner and faster.

.NET Core.NETC#
Apr 3, 2019
0
1

Making CPU configuration better for GC on machines with > 64 CPUs

maoni
maoni

If you are running Windows on a machine with > 64 CPUs, you’ll need to use this feature called the CPU groups for your process to be able to use more than 64 CPUs. At some point in the far distant past, people thought having more than 64 processors on a machine was inconceivable so they used a 64-bit number for the processor mask. And when 64-proc ...

Performance
Oct 9, 2018
0
0

You Should Never See This Callstack in Production

maoni
maoni

A customer who just experienced some server outage asked us for help as they thought it was due to some very long GC pauses. I thought this diagnostics exercise might be useful for other folks as well so I am sharing it with you. We had them collect a GCCollectOnly trace which showed there were some very long induced gen2 blocking GCs. And they ar...

Performance
Oct 2, 2018
0
0

Middle Ground between Server and Workstation GC

maoni
maoni

A long time ago I wrote about using Workstation GC on server applications when you have many instances of your server app running on the same machine. By default Server GC will treat the process as owning the machine so it uses all CPUs to do the GC work. More and more folks find themselves in a situation where they might have a few active instance...

Performance
Sep 19, 2016
0
0

GLAD is available

maoni
maoni

GC ETW series - GC ETW Events - Part 1 GC ETW Events - Part 2 GC ETW Events - Part 3 GC ETW Events - Part 4 Processing GC ETW Events Programmatically with the GLAD Library (this post) End of last year I mentioned we wanted to provide an API for you to really investigate GC/managed memory related performance called GLAD. Well, ...

Performance
May 31, 2016
0
0

Large Object Heap Uncovered (an old MSDN article)

maoni
maoni

I wrote this article in 2008 and the MSDN website no longer has it so I am making it available here. Please note that it has been quite a while and some things related to LOH have changed quite a bit. See the GC ETW blog entries I wrote for the current tooling options. Also note that obviously some of the links mentioned in this article may no long...

PerformanceLOH