Click here to Skip to main content
15,887,434 members

Articles by matt warren (Articles: 7, Technical Blogs: 37)

Articles: 7, Technical Blogs: 37

RSS Feed

Average article rating: 4.47

.NET
12 Sep 2016   Updated: 13 Sep 2016   Rating: 4.95/5    Votes: 7   Popularity: 4.19
Licence: CPOL    Views: 10,671     Bookmarked: 2   Downloaded: 0
Please Sign up or sign in to vote.
Open source .NET - 1 year later
CLR
7 Feb 2017   Updated: 6 Apr 2017   Rating: 4.98/5    Votes: 19   Popularity: 6.25
Licence: CPOL    Views: 15,931     Bookmarked: 23   Downloaded: 0
Please Sign up or sign in to vote.
Here is a list of 68 things that the CLR does before executing a single line of your code
General Programming
Optimization
13 Sep 2016   Updated: 13 Sep 2016   Rating: 4.60/5    Votes: 5   Popularity: 3.22
Licence: CPOL    Views: 9,520     Bookmarked: 6   Downloaded: 0
Please Sign up or sign in to vote.
Stack Overflow - Performance lessions (Part 2)
11 Sep 2016   Updated: 15 Sep 2016   Rating: 5.00/5    Votes: 2   Popularity: 1.51
Licence: CPOL    Views: 11,142     Bookmarked: 1   Downloaded: 0
Please Sign up or sign in to vote.
Coz: Finding Code that Counts with Causal Profiling - An Introduction
String
11 Sep 2016   Updated: 13 Sep 2016   Rating: 4.92/5    Votes: 8   Popularity: 4.44
Licence: CPOL    Views: 13,644     Bookmarked: 4   Downloaded: 0
Please Sign up or sign in to vote.
Strings and the CLR - a special relationship
Programming Languages
C#
14 Sep 2016   Updated: 14 Sep 2016   Rating: 2.00/5    Votes: 3   Popularity: 0.95
Licence: CPOL    Views: 11,961     Bookmarked: 5   Downloaded: 0
Please Sign up or sign in to vote.
How to subvert .NET Type safety with 'System.Runtime.CompilerServices.Unsafe'
Web Development
ASP.NET
11 Sep 2016   Updated: 13 Sep 2016   Rating: 4.83/5    Votes: 3   Popularity: 2.31
Licence: CPOL    Views: 15,635     Bookmarked: 2   Downloaded: 0
Please Sign up or sign in to vote.
Open source .NET - 1 year later - now with ASP.NET

Average blogs rating: 4.95

.NET
13 Jan 2017   Updated: 13 Jan 2017   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: CPOL    Views: 7,030     Bookmarked: 3   Downloaded: 0
Please Sign up or sign in to vote.
In this article, I want to see how the .NET GC compares to the other runtime implementations.
20 Dec 2016   Updated: 20 Dec 2016   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: CPOL    Views: 5,331     Bookmarked: 2   Downloaded: 0
Please Sign up or sign in to vote.
Why Exceptions should be Exceptional
15 Jun 2017   Updated: 15 Jun 2017   Rating: 5.00/5    Votes: 6   Popularity: 3.89
Licence: CPOL    Views: 7,001     Bookmarked: 10   Downloaded: 0
Please Sign up or sign in to vote.
How does the .NET Runtime (CLR) actually load a Type?
20 Oct 2017   Updated: 20 Oct 2017   Rating: 5.00/5    Votes: 11   Popularity: 5.21
Licence: CPOL    Views: 13,971     Bookmarked: 6   Downloaded: 0
Please Sign up or sign in to vote.
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
15 Sep 2016   Updated: 15 Sep 2016   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: CPOL    Views: 6,391     Bookmarked: 2   Downloaded: 0
Please Sign up or sign in to vote.
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.
All Topics
13 Sep 2016   Updated: 13 Sep 2016   Rating: 5.00/5    Votes: 2   Popularity: 1.51
Licence: CPOL    Views: 6,160     Bookmarked: 1   Downloaded: 0
Please Sign up or sign in to vote.
Stack Overflow Tag Engine – Part 1
Benchmark
13 Sep 2016   Updated: 13 Sep 2016   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: CPOL    Views: 5,621     Bookmarked: 1   Downloaded: 0
Please Sign up or sign in to vote.
Benchmarking is hard, it’s very easy to end up “not measuring, what you think you are measuring”
Boolean
12 Sep 2016   Updated: 12 Sep 2016   Rating: 5.00/5    Votes: 2   Popularity: 1.51
Licence: CPOL    Views: 5,740     Bookmarked: 1   Downloaded: 0
Please Sign up or sign in to vote.
Stack overflow Tag engine - Part 3
CLI
9 Sep 2016   Updated: 10 Sep 2016   Rating: 5.00/5    Votes: 2   Popularity: 1.51
Licence: CPOL    Views: 10,131     Bookmarked: 5   Downloaded: 0
Please Sign up or sign in to vote.
How the .NET CLI tooling runs your code
CLR
2 Aug 2017   Updated: 2 Aug 2017   Rating: 5.00/5    Votes: 2   Popularity: 1.51
Licence: CPOL    Views: 6,601     Bookmarked: 1   Downloaded: 0
Please Sign up or sign in to vote.
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?
Garbage collection
9 Sep 2016   Updated: 15 Sep 2016   Rating: 4.78/5    Votes: 7   Popularity: 4.04
Licence: CPOL    Views: 10,230     Bookmarked: 13   Downloaded: 0
Please Sign up or sign in to vote.
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.
11 Sep 2016   Updated: 15 Sep 2016   Rating: 5.00/5    Votes: 2   Popularity: 1.51
Licence: CPOL    Views: 11,970     Bookmarked: 6   Downloaded: 0
Please Sign up or sign in to vote.
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.
15 Sep 2016   Updated: 15 Sep 2016   Rating: 5.00/5    Votes: 3   Popularity: 2.39
Licence: CPOL    Views: 9,344     Bookmarked: 1   Downloaded: 0
Please Sign up or sign in to vote.
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
15 Sep 2016   Updated: 15 Sep 2016   Rating: 0.00/5    Votes: 0   Popularity: 0.00
Licence: CPOL    Views: 5,181     Bookmarked: 2   Downloaded: 0
Please Sign up or sign in to vote.
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.
General Programming
Debugging
9 Sep 2016   Updated: 9 Sep 2016   Rating: 0.00/5    Votes: 0   Popularity: 0.00
Licence: CPOL    Views: 11,280     Bookmarked: 3   Downloaded: 0
Please Sign up or sign in to vote.
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!
Optimization
16 Sep 2016   Updated: 16 Sep 2016   Rating: 5.00/5    Votes: 4   Popularity: 3.01
Licence: CPOL    Views: 9,771     Bookmarked: 1   Downloaded: 0
Please Sign up or sign in to vote.
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
Performance
9 Sep 2016   Updated: 15 Sep 2016   Rating: 4.20/5    Votes: 2   Popularity: 1.26
Licence: CPOL    Views: 12,050     Bookmarked: 1   Downloaded: 0
Please Sign up or sign in to vote.
Using BenchmarkDotNet, this post will analyse the individual optimisations and show how much faster each change is.
11 Sep 2016   Updated: 15 Sep 2016   Rating: 4.50/5    Votes: 2   Popularity: 1.35
Licence: CPOL    Views: 11,080     Bookmarked: 1   Downloaded: 0
Please Sign up or sign in to vote.
Adventures in Benchmarking - Method Inlining
11 Sep 2016   Updated: 15 Sep 2016   Rating: 5.00/5    Votes: 4   Popularity: 3.01
Licence: CPOL    Views: 9,591     Bookmarked: 4   Downloaded: 0
Please Sign up or sign in to vote.
Adventures in Benchmarking - Memory Allocations
10 Sep 2016   Updated: 15 Sep 2016   Rating: 5.00/5    Votes: 3   Popularity: 2.39
Licence: CPOL    Views: 8,422     Bookmarked: 3   Downloaded: 0
Please Sign up or sign in to vote.
Adventures in benchmarking - performance golf
14 Sep 2016   Updated: 14 Sep 2016   Rating: 5.00/5    Votes: 3   Popularity: 2.39
Licence: CPOL    Views: 8,901     Bookmarked: 3   Downloaded: 0
Please Sign up or sign in to vote.
Stack overflow - performance lessons - Part 1
Regular Expressions
12 Sep 2016   Updated: 12 Sep 2016   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: CPOL    Views: 5,130     Bookmarked: 0   Downloaded: 0
Please Sign up or sign in to vote.
Stack Overflow Tag Engine – Part 2
Threads
9 Sep 2016   Updated: 15 Sep 2016   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: CPOL    Views: 6,944     Bookmarked: 1   Downloaded: 0
Please Sign up or sign in to vote.
GC pauses and safe points
LINQ
29 Sep 2016   Updated: 29 Sep 2016   Rating: 5.00/5    Votes: 8   Popularity: 4.52
Licence: CPOL    Views: 13,433     Bookmarked: 9   Downloaded: 0
Please Sign up or sign in to vote.
How to optimize Linq
Programming Languages
C#
25 Jan 2017   Updated: 25 Jan 2017   Rating: 5.00/5    Votes: 4   Popularity: 3.01
Licence: CPOL    Views: 10,450     Bookmarked: 15   Downloaded: 0
Please Sign up or sign in to vote.
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?
12 Oct 2017   Updated: 12 Oct 2017   Rating: 5.00/5    Votes: 15   Popularity: 5.73
Licence: CPOL    Views: 15,701     Bookmarked: 11   Downloaded: 0
Please Sign up or sign in to vote.
Analyzing C# code on GitHub with BigQuery
8 Nov 2017   Updated: 9 Nov 2017   Rating: 4.98/5    Votes: 11   Popularity: 5.19
Licence: CPOL    Views: 11,192     Bookmarked: 7   Downloaded: 0
Please Sign up or sign in to vote.
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?
25 May 2017   Updated: 26 May 2017   Rating: 4.95/5    Votes: 19   Popularity: 6.34
Licence: CPOL    Views: 16,600     Bookmarked: 5   Downloaded: 0
Please Sign up or sign in to vote.
Lowering in the C# compiler (and what happens when you misuse it)
31 Oct 2016   Updated: 31 Oct 2016   Rating: 5.00/5    Votes: 8   Popularity: 4.52
Licence: CPOL    Views: 10,913     Bookmarked: 2   Downloaded: 0
Please Sign up or sign in to vote.
This post discusses how the "fixed" keyword works
8 May 2017   Updated: 16 May 2017   Rating: 5.00/5    Votes: 4   Popularity: 3.01
Licence: CPOL    Views: 13,232     Bookmarked: 1   Downloaded: 0
Please Sign up or sign in to vote.
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
9 Sep 2016   Updated: 13 Sep 2016   Rating: 5.00/5    Votes: 3   Popularity: 2.39
Licence: CPOL    Views: 16,091     Bookmarked: 6   Downloaded: 0
Please Sign up or sign in to vote.
How to prevent .NET Garbage collections with the TryStartNoGCRegion API
19 May 2017   Updated: 19 May 2017   Rating: 4.97/5    Votes: 14   Popularity: 5.69
Licence: CPOL    Views: 9,251     Bookmarked: 6   Downloaded: 0
Please Sign up or sign in to vote.
How to add a new Bytecode instruction to the CLR
C++
13 Apr 2017   Updated: 13 Apr 2017   Rating: 5.00/5    Votes: 4   Popularity: 3.01
Licence: CPOL    Views: 10,854     Bookmarked: 6   Downloaded: 0
Please Sign up or sign in to vote.
CLR thread pool 'thread injection' algorithm
10 Jul 2017   Updated: 10 Jul 2017   Rating: 5.00/5    Votes: 11   Popularity: 5.21
Licence: CPOL    Views: 9,025     Bookmarked: 10   Downloaded: 0
Please Sign up or sign in to vote.
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.
MSIL
6 Apr 2017   Updated: 6 Apr 2017   Rating: 5.00/5    Votes: 7   Popularity: 4.23
Licence: CPOL    Views: 12,302     Bookmarked: 6   Downloaded: 0
Please Sign up or sign in to vote.
Whilst writing a previous blog post I stumbled across the .NET Interpreter, tucked away in the source code.
Visual Basic
3 Oct 2016   Updated: 3 Oct 2016   Rating: 5.00/5    Votes: 2   Popularity: 1.51
Licence: CPOL    Views: 8,250     Bookmarked: 2   Downloaded: 0
Please Sign up or sign in to vote.
How to add a verb to the dotnet CLI tooling
Reflection.Emit
14 Dec 2016   Updated: 15 Dec 2016   Rating: 5.00/5    Votes: 17   Popularity: 6.15
Licence: CPOL    Views: 20,366     Bookmarked: 16   Downloaded: 0
Please Sign up or sign in to vote.
Why is Reflection slow?

Average tips rating:

No tips have been posted.

Average reference rating:

No reference articles have been posted.

Average project rating:

No projects have been posted.
Software Developer
United Kingdom United Kingdom
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.