Batch application slower than platform

I'm trying to optimize the workflow run time, and I thought that running it as a batch application would make it faster. But, actually, it's slower. 

I've created a dummy workflow with around 5m rows, some rule engines, row filters and groupby. The execution time is around 20% slower when running as batch app. 

I assume it is caused by heap space. As the more often I run the workflow, the bigger the allocated heapspace, the faster each iteration. Is there a way to force minimum heap space? I've set xmx to 12G, but it always start with 1GB and expands. 

I'm on Windows 10.

Also, is there a way to run a workflow faster, e.g. without logging messages to the console? 


-Xmx controls the maximum heap space

-Xms controls the starting heap space

Based on needs, the heap space is expanded from the starting size to the maximum size at runtime. You can try to set the -Xms in your knime.ini file and see wheather that helps the performances.

BTW, you can use the timing information in the log file to see which nodes are taking more time to execute or use the Benchmark nodes part of Vernalis.

You may also want to look into Streaming which, under certain conditions, can improve the execution time of a workflow.