Is there a performance penalty in calling an external FB script?


(Christoph Hillefeld) #1

Hi,

we currently have the following scenario:
In Order to build our products we have to build a few thousand delphi projects individually. The exact build parameters per project are specified in ini files. Depending on the content of these ini files we also have to perform a number of additional actions (e.g. logging, translations, code signing, etc.).

All of this is quite easy to do with FB but we need to perform the exact same build steps from different FB projects.
Currently this means that we have the exact same actions just duplicated across multiple projects but if we ever need to change anything we have to remember to change it everywhere.

We want to be able to share the relevant parts of the script across projects. The easiest way to do this would be to create a new FB script and run that everywhere it is needed. But I would like to know if there is a significant overhead in calling a separate script, keeping in mind that it needs to be executed thousands of times across multiple simultaneous threads.

Regards,
Christoph


(Vincent Parrett) #2

Hi Christoph

There is some overhead, but not a lot. Make sure you use the Include Project action, don’t use execute program to call fbcmd. The include project action loads the project (from a file, like norma) spins up another stepping engine instance and hooks it up to the parent project’s logging etc. We’ve never measured the overhead but I would think it’s pretty low. FWIW, your use case is exactly what it’s designed for, sharing common ‘code’.

Regards
Vincent.