The c# lock free library project – first public preview
May 30, 2008
Right now, I finished to port from Java lock free hash table and queue. You can get it from here. The good news, is it seems to work. The bad news, traditional implementation using locks performs faster in tests I did (I tested on 2 and 4 core machines). However, this is contradictive to the research results done on this topic (read more about research done in this field here). Therefore, I believe there are two (or more) possible explanations for that: my code is not optimized or/and, the way I doing my tests is wrong. How I did my tests: I used class I created for this purpose, which is called “Executer” (included in provoded package). Is works same as the BackgroundWorker class, with 2 differences: you can specify number of threads to work, and you can specify time to perform that work. You can use this class to test many other things in multithreading environment.
Please send me feedback about this staff, so I could improve it and make it better for all us. The code released under GPL license. Declaimer: I did my best on writing this code and I hope it will be useful, however I not responsible for any damage it could do – so use it on your own risk.
Entry Filed under: General C#. Tags: multithreading; lock free.
2 Comments Add your own
Leave a Comment
Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Trackback this post | Subscribe to the comments via RSS Feed
1.
Leonid | June 6, 2008 at 8:52 am
Hi Evgeni, I’d like to examine the code, but the link that is supposed to lead to to the appropriate page, displays only the Shareware title page. I’ll appreciate your explanations concerning the matter. Thank you.
2.
Aizikovich Evgeni | June 6, 2008 at 11:36 am
That is currect link. Due to I using free-cost blog infrastructure, I don’t have any space to store my applications. So I using public storage service, Rapidshare. When you going to link, choose “free” download option, and then start the download.