This free collection library comes from IT University of Copenhagen.
http://www.itu.dk/research/c5/
There is a video with one of the authors on Channel 9. I am trying to learn how to use these collections and I was wondering whether anyone has more experiences or what are your thoughts on this specific collection library for .NET. Do you like the way they are designed, do you like their performance and what were your major problems with them ?
I've used it in the past and there are a couple of notes I must make:
All in all, a very nice library with some advanced data structures. Unfortunately, support for it is very lacking, as you can see from the fact that new releases (bugfixes, et al) range somewhere from 6 months to a year.
Note: Starting with Mono 2.0, C5 is bundled as a 3rd party API, which I believe to be a wonderful show of faith in the product from the Mono team.
I have been using the C5 library for a while now, and with much success. I find that C5 offers great benefit in programming to interface. For example, in System.Collections.Generic
, the IList
interface doesn't offer all of the functionality of the ArrayList
and LinkedList
implementations. Conversely, in C5, you can access all the functionality of the ArrayList
and LinkedList
just by holding a C5.IList
.
As well, the original authors took much care to document the asymptotic speed of many critical operations, such as collection count, contains, and indexing. The library internally uses these properties when doing operations between collections to determine which collection would be faster as the "actor".
As well, while not updated in a while, the C5 documentation book is an amazing resource that provides clear documentation on the library.
In addition to that omer van kloeten's points.
The open source licence is MIT (comparable to BSD licence) this means that if you need make changes to the library you don't have to open-source the changes. (this might be a problem with some companies). For GPL-type licences this can be a problem.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With