c#
digest


Digests » 168

.net

ConcurrentDictionary.Count is locking

This is part of a code that allow users to subscribe to changes in the database using a WebSocket. This is pretty rare, so we check that there aren’t any and skip all the work. We had a bunch of code that run on many threads and ended up calling this method. Since there are not subscribers, this should be very cheap, but it wasn’t. The problem was that the call to Count was locking, and that created a convoy that killed our performance.

The ThrowIf* Method Pattern

There is a simple pattern that is extremely effective and increases source code readability greatly. Sadly this pattern is underused and many developers do not even think about it. I am talking of course the ThrowIf methods used to throw exceptions when validating state and arguments.

.Net Core 2.0 vs Java

Over the past few weeks I've been submitting improvements to some of the C# programs in the Benchmarks Game.

Announcing .NET Core 2.0

.NET Core 2.0 is available today as a final release. You can start developing with it at the command line, in your favorite text editor, in Visual Studio 2017 15.3, Visual Studio Code or Visual Studio for Mac. It is ready for production workloads, on your own hardware or your favorite cloud, like Microsoft Azure.

.NET and WebAssembly - Is this the future of the front-end?

6 years ago Erik Meijer and I were talking about how JavaScript is/was an assembly language. It turned into an interesting discussion/argument (some people really didn't buy it) but it still kept happening. Currently WebAssembly world is marching forward and is supported in Chrome, Firefox, and in Development in Edge, Opera, and Safari.

Wanna sponsor the digest? See our advertisement options.
Wanna post a job? Check out our job listings.