You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug getClassDescriptorFor causes a huge slowdown of fingerprint calculation when filtering using fields. The simple Aloha simulation goes from 0.5s to over 15s
The dynamic cast from the classDescriptors array can be skipped (but with potential for risk here) since the only things that are added to the array are classDescriptors. But this is a negligible saving.
The issue with modules with no associated classDescriptor, so the entire array of classDescriptors must be looped through, doing a dynamic_cast inside doesSupport at every step along the way.
Performance can be restored by adding a .msg file as per 6.10 of the user manual - but this is obviously not practical when using something like INET or another large library
Platform
Describe the bug
getClassDescriptorFor
causes a huge slowdown of fingerprint calculation when filtering using fields. The simple Aloha simulation goes from 0.5s to over 15sThe dynamic cast from the classDescriptors array can be skipped (but with potential for risk here) since the only things that are added to the array are classDescriptors. But this is a negligible saving.
The issue with modules with no associated classDescriptor, so the entire array of classDescriptors must be looped through, doing a
dynamic_cast
insidedoesSupport
at every step along the way.omnetpp/src/sim/cclassdescriptor.cc
Lines 271 to 294 in 00f99d5
To Reproduce
Run aloha sample (PureAloha1) with the following fingerprint calculation
Compare that with
fingerprint-modules = "Aloha.host*"
The text was updated successfully, but these errors were encountered: