OsmSharp - v2.0!
Version 2 of the OsmSharp library is released! Among many improvements the most important are several performance improvements. I did some tests to verify the them with each change I made.
| Test | Measured (Seconds) | Percentage |
| Unmodified | 11.22 | 0.00% |
| Modified code for resolving points to use smaller increases in search raduis. | 10.72 | 4.46% |
| Modified short distance calculations using Equirectangular approximation | 10.54 | 6.06% |
| Modified the graph class to take into account the exceptions before weight calculations. | 9.05 | 19.34% |
| Modified the graph class to check turnrestrictions before weight calculations. | 8.17 | 27.18% |
| Removed double checks in graph interpreter. | 8.12 | 27.63% |
| Changed the to-list in dykstra to a hashset. | 5.87 | 47.68% |
| Changed the sortedset collection to the .NET 4 variant. | 6.25 | 44.30% |
| Changed the sortedset collection to an hashset. | 6.12 | 45.45% |
| Improved the Equirectangular approximation and removed some castings. | 5.78 | 48.48% |
| Change the regular graph into a sparse graph. | 3.025 | 73.04% |
These test are averages of 10 test runs using only a small test instance. I have noticed even better increase in perfomance when testing on large instances. The code for executing these tests is on sourceforge!
Another improvement is checking if a point is reachable before routing to it, important for error-checking the osm data. More about this later.
I also started creating basic tutorials to help usage of the library for developers. See the osm wiki!
Anyway, here is the new version:
Latest: OsmSharp_v2.0.4340.zip
Wiki: http://wiki.openstreetmap.org/wiki/OsmSharp
SourceForge: http://sourceforge.net/projects/osmsharp/
Don't hesistate to contact me if you have any questions!

