Skip to content

Latest commit

 

History

History
 
 

probe

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
On some machines, expf() turns out to be very slow: much slower than its double
precision counterpart exp().  Probably this is concerned with the version of
glibc.

Here are a couple of examples:

Normal behaviour:

configuration$ ldd --version | head -1 | awk '{print $NF}'
2.15

configuration$ ./exp-test
exp() time: 0.00249362
expf() time: 0.0017401

Slow behaviour:

configuration$ ldd --version | head -1 | awk '{print $NF}'
2.11.1

configuration$ ./exp-test
exp() time: 0.0028439
expf() time: 0.00713329

If slow behaviour is detected, then KALDI_NO_EXPF macro will be used, and the
Exp() wrapper in base/kaldi-math.h will use exp() even for single precision
floats.  The behaviour of expf() is considered to be slow if it is slower than
exp() by at least 10%.