Printer FriendlyEmail Article Link

TTworkbench: How to enhance runtime and execution performance?

Environment/Versions
TTworkbench 32/64 Bit, Microsoft Windows/Linux
Answer
1. Change properties settings
Several system properties can be set in order to increase the performance of the executed test case. All these options trigger a specific initialization in the
TE which would be normally made during the execution of the first test case. The options can be given as VM arguments having the syntax -Dmyoption=value.

For setting the additional VM arguments, select the project then go to menu Project > Properties > TTCN-3 > Execution-TTman, Configure project specific settings, Use VM arguments, add the following options:
 
 Options                                                     Description
-Dpreload.modules=true  enforces pre-loading of all classes from the compiled module jars
-Dpreload.templates=true  enforces the initialization of all not parametrized templates defined in the loaded modules
-Dpreload.tt3runtime=true  enforces pre-loading of all classes built-in runtime libraries
-Dpreload.ta=true  enforces pre-loading of all classes from the test adapter jar file
-Dpreload.modulepars=true  enforces accessing (and thus also initialization) of all module parameters
-Dlogging.binary=true  defaults to "true"; if set to "false", then slower
 ASCII-encoded logging is used as a replacement for the faster binary logging; the ASCII-encoded logging can be used to ease debugging using a network sniffer
-DTestAdapter.loadCodecsAutomatically=true Set to true for backwards compatibility. If true loads the plugin codecs with given encoding name automatically (old behaviour was used without plugin test adapter configuration taconfig.xml) 
-Dcdgen.rt.debug=true Set to true to get more debugging information of the test execution 
-Dte.reset.ta.on.modulepar.change=false TestAdapter will not be instantiated for every module parameter change
But all module parameter changes will be considered


2. Reduce logging events
Decrease the number of log events that are generated. Just go to Window > Preferences > TTCN-3 > Execution > Logging > Event Generation

There, the default [Built-in] profile is selected which generates a lot of log events. If you select 'all_graphical' then only the log events are generated that can be displayed in the graphical logging view.

3. Select offline logging
Go to Window > Preferences > TTCN-3 > Execution > Logging and select as Logging Mode 'offline'. You will see the logging then only
after the test cases have finished. This saves CPU usage and memory and speeds up the execution time.

4. To get better performance and reserve more memory you need to increase the values for Java heap space of TTman. To do so use the menu
item of TTworkbench Window > Preferences > TTCN-3 > Execution - TTman, enable "Use VM arguments" and enter e.g. the value:
  • -Xmx2048m   (or more, if needed and if available on 64bit OS)
This line increases the Java heap space from its default to 1024 or 2048 MByte.
Attention: If your value is too high, your system will swap memory to your hard drive, which may slow down the system! In this case, reduce this value to the one you really need.

5.You can deactivate the option Build Automatically: Project > Build Automatically and delete the models which the CL Editor uses for its enhanced functionality: Project > Clean... > Clean all projects.

Product : Tool Handling