Avoiding unintended build serialization

While attending our user summit a couple of weeks back, I had an interesting conversation with one of our customers.  He had expressed excitement over discovering some unintended and unwanted CI build serialization.  In this case, it happened to be in the unit test phase of his build.  They had all of their unit tests lumped into one script and each unit test ran in sequence.  In this case, the performance bottleneck was easy to identify.  By simply creating three groups of unit tests and running each group in parallel via an ElectricCommander step, the unit test time was significantly reduced.

Plotter plugin results

Identifying areas of build serialization can be a significant challenge.  Sometimes the build script and/or harness is so complex that it cannot easily be instrumented for timing measurement.  In ElectricCommander we have a little know plug-in that can really help out here.  The “Plotter” plugin is available in every installation and can be found in the plugin catalog.  The screen shot shows a few builds.  The first one demonstrates excessive serialization while the second looks pretty good.  From here, a build engineer can quickly find the Commander step that requires analysis and possible refactoring.

The ask.electric-cloud.com forum is a great venue to ask questions about this plugin.

Here’s to finding your build parallelization nirvana.

Jim McMahon

Jim is a technical professional with over 20 years of information, network and security technology experience. He is a Solutions Engineer at Electric Commander. Jim McMahon holds an academic degree in computer science, mechanical engineering and marketing.

Latest posts by Jim McMahon (see all)

Share this:

Leave a Reply

Your email address will not be published. Required fields are marked *

Subscribe

Subscribe via RSS
Click here to subscribe to the Electric Cloud Blog via RSS

Subscribe to Blog via Email
Enter your email address to subscribe to this blog and receive notifications of new posts by email.