When you invoke the compiler, the following steps occur:
The compiler loads and begins to execute.
The compiler tries to obtain a license.
The compiler compiles your code.
Loading and beginning to execute the compiler normally takes
a fixed period of time.
The time taken to obtain a license does not generally vary
if a license is available. However, if a floating license is being
used, the time taken to obtain a license depends on network traffic
and whether or not a license is free on the server. In most cases,
rather than terminate with error if a license is not immediately
available, the compiler waits for a license to become available.
The process of obtaining a floating license is more involved
than obtaining a node-locked license. With a node-locked license,
the compiler only has to parse the file to check that there is a
valid license. With a floating license, the compiler has to check
where the license is, send a message through the TCP/IP stacks over
the network to the server, then wait for a response. When the compiler
receives the response, it then has to check whether or not it has
been granted a license. When the compilation is complete, the license
has to be returned back to the server.
Floating licenses provide flexibility, but at the cost of
speed. If speed is your priority, consider obtaining node-locked
licenses for your build machines, or some node-locked licenses locked to
USB network cards that can be moved between machines as required.
Setting the environment variable
FlexNet license server system performance when processing license
requests. However, you must use this with caution, because it might
cause an increase in network traffic.
The time taken to compile your code depends on the size and
complexity of the file being compiled. Compiling a small number
of large files might be quicker than compiling a larger number of
small files. This is because the longer compilation time per file
might be offset by the smaller amount of time spent loading and
unloading the compiler and obtaining licenses.