« March 2010 | April 2010 Archives | May 2010 »
There are two bugs in the Performance Counter library and example servers that mean that performance counters built with the library and following the examples shown in the example servers will fail to work correctly when viewed remotely from another machine. What's more the remote instance of perfmon will fail to display any counters from the machine with the broken performance counters installed. The first problem is that the code that checks to see that the process that has loaded the counter dll has the correct privileges to be able to connect to the shared memory segment that is used…

Lock free or many locks?

| 0 Comments | 1 TrackBack
I've been working on some performance tuning for a client of mine recently and whilst much of the tuning has been specific to the details of the their particular server design, eventually I can always get to the point where there are some improvements that can be done to the framework itself. It's nice to have a "real world" performance tuning scenario as I find that tuning example servers can be pointless as the example may not match a real world scenario. I'd already upgraded my client to 6.2 (which is part of the reason that 6.2 has been delayed…
The latest release of The Server Framework gives you the option of building with FILE_SKIP_COMPLETION_PORT_ON_SUCCESS enabled for various parts of the framework. You can enable it for stream and datagram sockets independently and also for the async file reader and writer classes. This option potentially improves performance by allowing overlapped I/O that completes straight away to be handled by the thread that issued the I/O request rather than by a thread that is servicing the I/O Completion Port that the socket or file handle concerned is associated with. This smooths thread scheduling by allowing the thread that is currently active to deal…

Things I hate about Visual Studio 2010 - part 1

So far I've found Visual Studio 2010 quite a compelling upgrade from Visual Studio 2008 for native C++ development. Intellisense is better, the build experience seems smoother and faster, editing on a decent development box seems OK, the various profiling and concurrency tools look interesting and, well, it mostly works quite nicely. It's a pity that there are some rough edges. I've been seeing crashes when I update project and solution files whilst it has them open (a common thing to do if you're working with source control). I haven't yet been able to get a repeatable reproduction, but my…

New UDP Server examples

The new release of the licensed, high performance, I/O completion port, server framework includes lots of new example clients and servers; the framework now comes with 74 fully working example that showcase various aspects of the framework. Since the UDP side of the framework has undergone a lot of work recently to support filtering and in preparation for the release of several reliable UDP protocols there are lots of new UDP server examples. There are, of course, the examples that have always shipped with the framework, though with this release they've been moved out of the "Simple Servers" example set…
« March 2010 | April 2010 Archives | May 2010 »

About this Archive

This page is an archive of entries from April 2010 listed from newest to oldest.

March 2010 is the previous archive.

May 2010 is the next archive.

I usually write about C++ development on Windows platforms, but I often ramble on about other less technical stuff...

Find recent content on the main index or look in the archives to find all content.

I have other blogs...

Subscribe to feed The Server Framework - high performance server development
Subscribe to feed Lock Explorer - deadlock detection and multi-threaded performance tools
Subscribe to feed l'Hexapod - embedded electronics and robotics
Subscribe to feed MegèveSki - skiing