Community
Participate
Working Groups
We have enabled parallel semantic analysis in the Titan plugins recently. Which greatly improves semantic checking and code quality checking times on modern (multi-core, multi-thread) processors. The main reason behind this is simply the fact that in sequential execution the time of the complete duration of the analysis is the sum of the duration of analyzing single modules, while in parallel mode the number could be much smaller (in case there would be no dependencies between the modules it would be the maximum). The logical step in this direction is to reduce the granularity of elements that are processed in parallel, to take more efficient care of the available processing power. The idea here is that currently the limiting factor is the large imbalance in the module sizes that can appear in some project. It could happen, that the project contains a large type description module with several hundred thousand lines of TTCN-3 code + several small TTCN-3 modules which only contain a few tests. In such case the large module will have a dominating effect on the processing time, thanks to the over time being closely related to the max of the individual processing times (in case of dependencies there is still addition). By improving the granularity and being able to analyze in parallel part of modules, this limitation would also be lifted. In this case the large module itself could be processed in parallel on all available hardware cores/threads at the same time. Bringing the overall utilization of the hardware closer to maximum, and processing time as low as possible.
This bug was migrated to GitLab: https://gitlab.eclipse.org/eclipse/titan/titan.EclipsePlug-ins/-/issues