32767 srclocs insufficient
the documented srcloc limit[1] of 65534 is insufficient for some programs and i'd like to request bumping it up to 23 bits or more
further, on 0.8.2 - unable to test on a more recent version but it does appear to still be relevant - an assert[2] gets tripped after 32767 srclocs. taking a quick glance and i found uint16_t and int16_t being used interchangeably for srclocs in various structures in TracyView and TracyWorker.
1: https://github.com/wolfpld/tracy/blob/1ff9e0012bbff9e490797aab178115e20ac35313/manual/tracy.tex#L608 2: https://github.com/wolfpld/tracy/blob/a8511d357650282c6915f7aa9775e9c4945e42b5/server/TracyWorker.cpp#L3656
What is the use case for having that many source locations?
we have game servers written in an interpreted language where every function is automatically instrumented. some servers have more than 65,535 functions. a typical profiled session might last 3 hours and have 1.4 billion zones (function calls). so i'm sympathetic to the memory bloat this could cause as we have traces that require 40GB+ memory and 20GB+ storage and it's painful.
Ok, having 24 bits for this may be reasonable then.
For performance reasons there are some max-num-of-src-locs sized tables used in the profiler. Going to full 24 bits may be unwanted, as it would make each of these 64 KB tables require 16 MB instead.