CodePlex, Performance and Usability

time to read 2 min | 305 words

I am trying to get some code from CodePlex at the moment. Since I am used to SVN and its model,I downloaded SvnBridge and hooked it up, then tried to check out the source code.

Fast forward about an hour later, and it is still have not checked out a single file. I am pretty sure that it is not an issue with the network, or anything like that. I believe that it is doing a full download of the source code locally, and then fake SVN from there, but I haven't checked.

Then I tried the CodePlex Client, that started out with the same exact behavior, but after several minutes, it began to download the actual files. The download rate seems to be a file every 3 seconds, which seems to suggest that it is making a call per file. I checked the code (by reflecting over the assembly, which is infinitely faster then actually check out the code) and it looks like this is what it is doing.

Consider that most projects has several thousands of files in them. Using this approach, it would take over 8 hours to checkout NHibernate's source code and over a day to checkout Castle's course code.

By comparison, checking out NHibernate takes about 20 minutes using SVN, and Castle takes about an hour. Most of the time is spent because of bandwidth limitations, nothing more.

I am not sure if the "make remote call per file" is because TFS model or it is just something that the CodePlex team did, but it is something that makes working with any sort of code there an absolute nightmare.

Update:

Just to clarify, the main problem seems to be that it is ignoring the network realities far from wherever the CodePlex servers are. Apparently the speed is adequate from the US.