Prior to version 5.2, Electric Commander has offered two primary ways to access the API for scripting purposes: ectool and ec-perl. Both allow users to accomplish virtually any task within Commander, but it’s important to note there is a significant performance difference between the two.
Ectool remains an excellent choice for quick operations on the command line or embedded in a script, however any significant interface with the Commander server that requires multiple API calls is best accomplished using ec-perl. Ectool gets beats because for each command, ectool opens a connection to the commander server, issues the command, and closes the connection. When done repeatedly, this adds a significant amount of overhead to a given sequence of operations.
Ec-perl, on the other hand, opens a single, persistent connection with the Commander server, allowing for multiple operations to be executed quickly. Additional speed can be gained by submitting batch requests through ec-perl. A batch request bundles multiple server requests together (such as get or setProperty requests) and transmits them to the server together as a single request, further reducing network burden.
For demonstrations purposes, I created a Commander procedure that performs 500 getProperty requests and 500 steProperty requests using ectool, ec-perl, and ec-perl with batch requests.
As the graphs indicate, ec-perl performs getProperty operations 28 to 113 times faster than ectool and can perform setProperty operations 4 to 15 times faster than ectool. This should clearly demonstrate that ec-perl is the superior method for scripting Commander operations that require multiple API calls. For some, Perl may not be a preferred language, but if speed is really a concern, it’s worth the effort to code your scripts that do the heavy lifting using ec-perl.
Next Steps:
- Contact SPK and Associates to see how we can help your organization with our ALM, PLM, and Engineering Tools Support services.
- Read our White Papers & Case Studies for examples of how SPK leverages technology to advance engineering and business for our clients.
David Hubbell
Software Engineer
SPK and Associates