Tag «C#»

Debouncing asynchronous operations

With the introduction of the async and await keywords, asynchronous programming has finally become achievable by any .Net developer.  Building on the TPL, async and await extend the C# language specification to make task based programming relatively straight forward, and is a huge step forward from APM. However, being able to write code that runs …

Memory Mapped File Performance

In my last post I introduced Memory Mapped Files, and discussed how you could mark them as sparse.  Today, I would like to talk a little about performance.  Using LINQPad (my favourite tool!), I created a rough and ready test script which can be downloaded at the end of the article. The idea was to …

Sparse Memory Mapped Files

Memory mapped files are a powerful addition to the .NET framework in version 4.0.  They’ve been a key part of the windows Operating System since Windows 95, but using them required a working knowledge of COM Interop, as they weren’t exposed directly through the framework.  It’s well worth reading up on them, especially if you’re …

… get in the queue.

OK, so yesterday I returned with a really simple piece of code that’s convenient when building stack frames. After stacks, the next easiest/most convenient structure has to be the queue.  No surprise then that .NET has a similarly generic Queue  class. It seems appropriate to give it the same treatment – public class Queue<T1, T2> …

Stack ’em up!

OK, clearly I have been remiss in my bloging duties and owe you all some code.  To be fair, it’s because I’m head down developing a brand new platform that will form the basis of our future products and it really has been all go. One of the most fundamental structures in programming languages is …

Simulating SQL Server (Part 3)

If you haven’t done so so already, start with – Simulating SQL Server (Part 1) Simulating SQL Server (Part 2) In the first two posts, I introduced the SqlTester library, which can be downloaded at the bottom of this post.  I also showed a series of classes that implemented IDataRecord and IDataReade to allow the creation …