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
ETL_DECLARE_DEBUG_COUNT creates an object inside the classes it is used. Although the object is of empty type, still space needs to be allocated (so the member is addressable).
In real code we observed considerable overhead by this additional size. Mostly because objects like vector are not used in packed structs, the additional bytes lead to a snowball effect. Compared to an array + extra variables, we saw hundreds of bytes difference in the final binary, although few dozens vectors were used!
The solution is for ETL_DECLARE_DEBUG_COUNT be empty statement (when ETL_DEBUG_COUNT NOT defined). This can either be done via #ifdef or simply define it as empty and ; afer each place it is used.
The text was updated successfully, but these errors were encountered:
ETL_DECLARE_DEBUG_COUNT creates an object inside the classes it is used. Although the object is of empty type, still space needs to be allocated (so the member is addressable).
In real code we observed considerable overhead by this additional size. Mostly because objects like
vector
are not used in packed structs, the additional bytes lead to a snowball effect. Compared to an array + extra variables, we saw hundreds of bytes difference in the final binary, although few dozens vectors were used!The solution is for ETL_DECLARE_DEBUG_COUNT be empty statement (when ETL_DEBUG_COUNT NOT defined). This can either be done via
#ifdef
or simply define it as empty and;
afer each place it is used.The text was updated successfully, but these errors were encountered: