June 13, 2012

Leaving ClearCase: Faster Builds (and Everything Else)

clearcase comparisonI saw an interesting article recently on how to Accelerate your ClearCase performance, describing how to overcome ClearCase slowness when running continuous integration builds. ClearCase inefficiencies, in this case particularly the file system access when using dynamic views, pose a real challenge for teams trying to adopt modern Agile processes.

I think the problem is actually bigger than just build performance: ClearCase is slow. Period. In a business environment where the emphasis is always on faster development and delivery cycles, a slow version management system will get in the way.

If you take a look at the simple benchmarks in this comparison paper, you'll see that Perforce is an order of magnitude faster than ClearCase for a lot of common operations. (Need to edit 100 files in a decent sized project? That's 7 seconds in Perforce and over 80 in ClearCase. And so on.)

Now, most of that paper is from 2008. In the interim Perforce has taken major leaps forward with replication and other improvements. As the appendix in the paper indicates, ClearCase hasn't really advanced much in that same time frame.

On the particular subject of build performance, Perforce has put a lot of focus on supporting whatever kind of continuous integration you need. I wrote about some of the improvements in detail a few weeks ago, and here's a brief overview of the different options for supporting a CI system. 

Key build characteristicsToolsAdvantages
Most of the cost is data transferProxySignificant improvement in data transfer time
Cost is data transfer plus read-only operationsBuild replicaSignificant improvement in data transfer time and read-only operations
Cost is data transfer plus read-only operations, and must write data into repositorySmart proxy replicaSignificant improvement in data transfer time and read-only operations, plus seamless write activity

As your business grows, your continuous integration needs will grow faster than you expect, so having a spectrum of solutions is important. And more generally, if you're striving for faster iterations and Agile processes, you want the fastest development environment possible.

So if you're still hanging on to ClearCase, give Perforce a try. You'll be pleasantly surprised at the speed boost.