C#
|
Delegates and Events |
Posted: 25 Jan 2017
Updated: 25 Jan 2017
Views: 8,250
Rating: 5.00/5
Votes: 4
Popularity: 3.01
Licence: The Code Project Open License (CPOL)
Bookmarked: 15
Downloaded: 0
Delegates are a fundamental part of the .NET runtime but how do they actually work and what’s going in the CLR when you use them?
|
General |
Posted: 9 Sep 2016
Updated: 15 Sep 2016
Views: 10,520
Rating: 4.20/5
Votes: 2
Popularity: 1.26
Licence: The Code Project Open License (CPOL)
Bookmarked: 1
Downloaded: 0
Using BenchmarkDotNet, this post will analyse the individual optimisations and show how much faster each change is.
|
|
Posted: 12 Oct 2017
Updated: 13 Oct 2017
Views: 12,330
Rating: 5.00/5
Votes: 15
Popularity: 5.73
Licence: The Code Project Open License (CPOL)
Bookmarked: 11
Downloaded: 0
Analyzing C# code on GitHub with BigQuery
|
|
Posted: 8 Nov 2017
Updated: 9 Nov 2017
Views: 8,582
Rating: 4.98/5
Votes: 11
Popularity: 5.19
Licence: The Code Project Open License (CPOL)
Bookmarked: 7
Downloaded: 0
Generics in C# are certainly very useful and I find it amazing that we almost didn’t get them: What would the cost of inaction have been? What would the cost of failure have been? No generics in C# 2.0? No LINQ in C# 3.0? No TPL in C# 4.0? No Async in C# 5.0?
|
How To |
Posted: 25 May 2017
Updated: 26 May 2017
Views: 11,400
Rating: 4.95/5
Votes: 19
Popularity: 6.34
Licence: The Code Project Open License (CPOL)
Bookmarked: 5
Downloaded: 0
Lowering in the C# compiler (and what happens when you misuse it)
|
C++ / CLI
|
C++/CLI |
Posted: 3 Oct 2016
Updated: 4 Oct 2016
Views: 6,710
Rating: 5.00/5
Votes: 2
Popularity: 1.51
Licence: The Code Project Open License (CPOL)
Bookmarked: 2
Downloaded: 0
How to add a verb to the dotnet CLI tooling
|
General |
Posted: 13 Apr 2017
Updated: 13 Apr 2017
Views: 7,853
Rating: 5.00/5
Votes: 3
Popularity: 2.39
Licence: The Code Project Open License (CPOL)
Bookmarked: 6
Downloaded: 0
CLR thread pool 'thread injection' algorithm
|
Other .NET Languages
|
General |
Posted: 13 Jan 2017
Updated: 13 Jan 2017
Views: 5,300
Rating: 5.00/5
Votes: 1
Popularity: 0.00
Licence: The Code Project Open License (CPOL)
Bookmarked: 3
Downloaded: 0
In this article, I want to see how the .NET GC compares to the other runtime implementations.
|
.NET Framework
|
General |
Posted: 9 Sep 2016
Updated: 10 Sep 2016
Views: 8,760
Rating: 5.00/5
Votes: 2
Popularity: 1.51
Licence: The Code Project Open License (CPOL)
Bookmarked: 5
Downloaded: 0
How the .NET CLI tooling runs your code
|
|
Posted: 9 Sep 2016
Updated: 15 Sep 2016
Views: 8,760
Rating: 4.78/5
Votes: 7
Popularity: 4.04
Licence: The Code Project Open License (CPOL)
Bookmarked: 13
Downloaded: 0
As part of an ongoing attempt to learn more about how a real-life Garbage Collector (GC) works (see part 1) and after being inspired by Julia Evans’ excellent post gzip + poetry = awesome I spent a some time writing a tool to enable a live visualisation of the .NET GC in action.
|
|
Posted: 9 Sep 2016
Updated: 15 Sep 2016
Views: 5,360
Rating: 5.00/5
Votes: 1
Popularity: 0.00
Licence: The Code Project Open License (CPOL)
Bookmarked: 1
Downloaded: 0
GC pauses and safe points
|
|
Posted: 11 Sep 2016
Updated: 15 Sep 2016
Views: 10,290
Rating: 5.00/5
Votes: 2
Popularity: 1.51
Licence: The Code Project Open License (CPOL)
Bookmarked: 6
Downloaded: 0
This series is an attempt to learn more about how a real-life “Garbage Collector” (GC) works internally, i.e., not so much “what it does”, but “how it does it” at a low-level.
|
|
Posted: 15 Sep 2016
Updated: 16 Sep 2016
Views: 7,302
Rating: 5.00/5
Votes: 3
Popularity: 2.39
Licence: The Code Project Open License (CPOL)
Bookmarked: 1
Downloaded: 0
There is an update to this post, based on feedback I received.In my last post I talked about the techniques that the Roslyn team used to minimise the effect of the Garbage Collector (GC). Firstly I guess its worth discussing what the actual issue is.GC Pauses and LatencyIn early versions of
|
|
Posted: 16 Sep 2016
Updated: 16 Sep 2016
Views: 7,701
Rating: 5.00/5
Votes: 4
Popularity: 3.01
Licence: The Code Project Open License (CPOL)
Bookmarked: 1
Downloaded: 0
In my previous post, I talked about some of the general performance lessons that can be learnt from the Roslyn project. This post builds on that and looks at specific examples from the code base.Generally the performance gains within Roslyn come down to one thing: Ensuring the garbage colle
|
|
Posted: 31 Oct 2016
Updated: 31 Oct 2016
Views: 8,883
Rating: 5.00/5
Votes: 8
Popularity: 4.52
Licence: The Code Project Open License (CPOL)
Bookmarked: 2
Downloaded: 0
This post discusses how the "fixed" keyword works
|
|
Posted: 14 Dec 2016
Updated: 15 Dec 2016
Views: 12,354
Rating: 5.00/5
Votes: 17
Popularity: 6.15
Licence: The Code Project Open License (CPOL)
Bookmarked: 15
Downloaded: 0
Why is Reflection slow?
|
|
Posted: 20 Dec 2016
Updated: 20 Dec 2016
Views: 3,791
Rating: 5.00/5
Votes: 1
Popularity: 0.00
Licence: The Code Project Open License (CPOL)
Bookmarked: 2
Downloaded: 0
Why Exceptions should be Exceptional
|
|
Posted: 6 Apr 2017
Updated: 7 Apr 2017
Views: 9,110
Rating: 5.00/5
Votes: 6
Popularity: 3.89
Licence: The Code Project Open License (CPOL)
Bookmarked: 6
Downloaded: 0
Whilst writing a previous blog post I stumbled across the .NET Interpreter, tucked away in the source code.
|
|
Posted: 8 May 2017
Updated: 16 May 2017
Views: 11,000
Rating: 5.00/5
Votes: 4
Popularity: 3.01
Licence: The Code Project Open License (CPOL)
Bookmarked: 1
Downloaded: 0
A while ago I wrote about the 'special relationship' that exists between Strings and the CLR, well it turns out that Arrays and the CLR have an even deeper one
|
|
Posted: 15 Jun 2017
Updated: 15 Jun 2017
Views: 5,721
Rating: 5.00/5
Votes: 6
Popularity: 3.89
Licence: The Code Project Open License (CPOL)
Bookmarked: 9
Downloaded: 0
How does the .NET Runtime (CLR) actually load a Type?
|
|
Posted: 10 Jul 2017
Updated: 10 Jul 2017
Views: 6,184
Rating: 5.00/5
Votes: 11
Popularity: 5.21
Licence: The Code Project Open License (CPOL)
Bookmarked: 10
Downloaded: 0
Fortunately, there’s a fantastic tool that makes it very easy for us to get an overview of memory usage within the CLR itself. It’s called VMMap and it’s part of the excellent Sysinternals Suite.
|
|
Posted: 2 Aug 2017
Updated: 2 Aug 2017
Views: 5,541
Rating: 5.00/5
Votes: 2
Popularity: 1.51
Licence: The Code Project Open License (CPOL)
Bookmarked: 1
Downloaded: 0
It’s a fundamental part of .NET and can often happen without you knowing, but how does it actually work? What is the .NET Runtime doing to make boxing possible?
|
How To |
Posted: 9 Sep 2016
Updated: 9 Sep 2016
Views: 9,280
Rating: 0.00/5
Votes: 0
Popularity: 0.00
Licence: The Code Project Open License (CPOL)
Bookmarked: 3
Downloaded: 0
If you’ve ever spent time debugging .NET memory dumps in WinDBG, you will be familiar with the commands shown below, which aren’t always the most straight-forward to work with!
|
|
Posted: 9 Sep 2016
Updated: 13 Sep 2016
Views: 12,381
Rating: 5.00/5
Votes: 3
Popularity: 2.39
Licence: The Code Project Open License (CPOL)
Bookmarked: 6
Downloaded: 0
How to prevent .NET Garbage collections with the TryStartNoGCRegion API
|
|
Posted: 11 Sep 2016
Updated: 15 Sep 2016
Views: 9,000
Rating: 4.50/5
Votes: 2
Popularity: 1.35
Licence: The Code Project Open License (CPOL)
Bookmarked: 1
Downloaded: 0
Adventures in Benchmarking - Method Inlining
|
|
Posted: 11 Sep 2016
Updated: 15 Sep 2016
Views: 7,371
Rating: 5.00/5
Votes: 4
Popularity: 3.01
Licence: The Code Project Open License (CPOL)
Bookmarked: 4
Downloaded: 0
Adventures in Benchmarking - Memory Allocations
|
|
Posted: 10 Sep 2016
Updated: 15 Sep 2016
Views: 7,162
Rating: 5.00/5
Votes: 3
Popularity: 2.39
Licence: The Code Project Open License (CPOL)
Bookmarked: 3
Downloaded: 0
Adventures in benchmarking - performance golf
|
|
Posted: 19 May 2017
Updated: 19 May 2017
Views: 6,661
Rating: 4.97/5
Votes: 14
Popularity: 5.69
Licence: The Code Project Open License (CPOL)
Bookmarked: 6
Downloaded: 0
How to add a new Bytecode instruction to the CLR
|
LINQ
|
General |
Posted: 29 Sep 2016
Updated: 29 Sep 2016
Views: 10,753
Rating: 5.00/5
Votes: 7
Popularity: 4.23
Licence: The Code Project Open License (CPOL)
Bookmarked: 9
Downloaded: 0
How to optimize Linq
|
Universal Windows Platform and Windows Runtime
|
General |
Posted: 20 Oct 2017
Updated: 20 Oct 2017
Views: 9,421
Rating: 5.00/5
Votes: 11
Popularity: 5.21
Licence: The Code Project Open License (CPOL)
Bookmarked: 6
Downloaded: 0
Recently I was listening to the excellent DotNetRocks podcast and they had Steven Sanderson (of Knockout.js fame) talking about ‘WebAssembly and Blazor’. In case you haven’t heard about it, Blazor is an attempt to bring .NET to the browser, using the magic of WebAssembly. If you want more
|
Algorithms & Recipes
|
General |
Posted: 12 Sep 2016
Updated: 13 Sep 2016
Views: 4,880
Rating: 5.00/5
Votes: 2
Popularity: 1.51
Licence: The Code Project Open License (CPOL)
Bookmarked: 1
Downloaded: 0
Stack overflow Tag engine - Part 3
|
Best Practices
|
General |
Posted: 13 Sep 2016
Updated: 13 Sep 2016
Views: 4,491
Rating: 5.00/5
Votes: 1
Popularity: 0.00
Licence: The Code Project Open License (CPOL)
Bookmarked: 1
Downloaded: 0
Benchmarking is hard, it’s very easy to end up “not measuring, what you think you are measuring”
|
|
Posted: 14 Sep 2016
Updated: 14 Sep 2016
Views: 7,291
Rating: 5.00/5
Votes: 3
Popularity: 2.39
Licence: The Code Project Open License (CPOL)
Bookmarked: 3
Downloaded: 0
Stack overflow - performance lessons - Part 1
|
|
Posted: 15 Sep 2016
Updated: 15 Sep 2016
Views: 5,621
Rating: 5.00/5
Votes: 1
Popularity: 0.00
Licence: The Code Project Open License (CPOL)
Bookmarked: 2
Downloaded: 0
Recently I’ve spent some time porting HdrHistogram from Java to .NET, it’s been great to learn a bit more about Java and get a better understanding of some low-level code.
|
|
Posted: 15 Sep 2016
Updated: 15 Sep 2016
Views: 4,691
Rating: 0.00/5
Votes: 0
Popularity: 0.00
Licence: The Code Project Open License (CPOL)
Bookmarked: 2
Downloaded: 0
Measuring performance accurately is hard. But it is a whole lot easier if someone with experience takes the time to explain your mistakes to you! This is an update to my previous post.
|
Uncategorised Technical Blogs
|
General |
Posted: 12 Sep 2016
Updated: 13 Sep 2016
Views: 4,340
Rating: 5.00/5
Votes: 1
Popularity: 0.00
Licence: The Code Project Open License (CPOL)
Bookmarked: 0
Downloaded: 0
Stack Overflow Tag Engine – Part 2
|
|
Posted: 13 Sep 2016
Updated: 13 Sep 2016
Views: 4,790
Rating: 5.00/5
Votes: 2
Popularity: 1.51
Licence: The Code Project Open License (CPOL)
Bookmarked: 1
Downloaded: 0
Stack Overflow Tag Engine – Part 1
|