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 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.

Continuous Delivery (#c9d9) Podcast

c9d9 Continuous Discussion on Agile, DevOps, and Continous Delivery

Next episode:

Episode 92:
All Day DevOps

October 9, 10am PT

By continuing to browse or by dismissing this alert you agree to the storing of first- and third-party cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. See privacy policy.