FMOD seems to be creating all programmer sounds when one is played

when I play a programmer sound I see this:

[LOG] SystemI::createSoundInternal             :     Stream 10190/10356: name='XXX_35565', format=5, channels=1, frequency=48000, lengthbytes=23328, lengthpcm=80144, pcmblocksize=0, loopstart=0, loopend=0, mode=0x00000000, channelmask=0x00000000, channelorder=0, peakvolume=0.270504.
[LOG] SystemI::createSoundInternal             :     Stream 10191/10356: name='XXX_35566', format=5, channels=1, frequency=48000, lengthbytes=7232, lengthpcm=24400, pcmblocksize=0, loopstart=0, loopend=0, mode=0x00000000, channelmask=0x00000000, channelorder=0, peakvolume=0.353590.

For every programmer sounds I have (over 13,000 of them).
This happens each time I play one.
Why is this happening?
It doesn’t seem to be loading them, but why is SystemI::createSoundInternal being call?
Is this a performance issue?

Any ideas? Is this normal?

The way Studio::System::getSoundInfo sets up the FMOD_CREATESOUNDEXINFO will cause System::createSound to enumerate (but not load) all sub-sounds, this shouldn’t be necessary and we do have a task currently in-progress to investigate fixing that.

You should be able to tweak the exinfo settings before calling System::createSound to avoid the extra processing, just add the following after your call to Studio::System::getSoundInfo:

info.exinfo.numsubsounds = 1;
info.subsoundindex = 0;

That should tell the Core API to only look at the one Sound you are loading instead of scanning all the Sounds in the bank.