AlgoTec implements continuous integration and expands automated testing for medical imaging technology – testing hundreds of C++ projects and speeding up builds by 80%
Algotec, a Carestream company, is developing the next-generation healthcare information technology platform, focusing on medical imaging such as radiology, cardiology, and mammography.
Algotec provides healthcare facilities with Web-enabled, advanced solutions for medical imaging image management, reading, processing, reporting and distribution. These solutions include medical image processing, medical imaging information management, teleradiology and include Picture Archiving and Communications Systems (PACS). Radiology Information Systems (RIS), Teleradiology Systems, Multi-Site Image Management Systems (SuperPACS), Clinical Data Archiving and eHealth Managed Services. Algotec is a fully owned subsidiary of Carestream Health.
The CARESTREAM Vue product suite, installed in thousands of medical centers worldwide, optimizes medical imaging for clinical excellence and superior patient care. It includes workstations with cutting-edge clinical image processing, servers which can process and store immense amount of medical data, products for managing patients and procedures, and more.
The Vue product suite is a very complex piece of software. It contains a rapidly growing code base, already containing millions of lines of code.Code build takes a long time to complete using Microsoft Visual Studio. At some point, theyhad products where compilation took over 3 hours – on the latest hardware available.
They fully rebuilt about 400 C++ projects. Many projects contain over 30 source files, with over a hundred lines in each file. Algotec also makes extensive use of macros, TLB imports, and custom build steps, each contributing additional compilation time.
Such build times mean it takes a lot of time for developers to get feedback on their new features and bug fixes, leading to many integration problems, and hurt productivity and quality.
Due to the long build times, Algotec only had two nightly builds – one debug, and one release – for each product. Compilation took all night long, and since those same build servers are in use during the day, there was simply not enough time at night to have them perform automatic deployment and testing.
Algotec approached IncrediBuild in order to deploy their Visual Studio build acceleration solution. Each developer installed an agent which can start a build and utilize all available machines on the network.
Results were impressive. Compilation times were cut down considerably. In the smaller projects, they saw around 90% build time improvement (from about 30 minutes to 3 minutes). In the largest project, it was reduced from 190 minutes to about 40 minutes at first; after consulting with IncrediBuild experts they optimized their project and dependency settings and managed to get a total build time of about 34 minutes – which is an 80% improvement.
|Smaller Project||30 minutes||3 minutes|
|Larger Project||190 minutes||34 minutes|
With much shorter build times, Algotec was able to implement continuous integration. They were able to run the build multiple times a day, resulting in faster feedback, and have enough available time to automatically deploy and test the products at night. This led to the initiation and expansion of automated testing throughout the company.
“IncrediBuild enabled us to shift from running one long nightly build to running multiple builds per day, and eventually implement a full continuous integration process, leading to higher productivity and improved quality.”
SCM Leader, Software Configuration Manager