The definition of โsmallโ changes, but, generally speaking, an object can be considered โsmallโ if its size is smaller than the overhead in size caused by the distribution of the heap (or at least close to this size).
Thus, a 16-byte object is probably considered "small" in most cases. A 32-byte object can be considered small under certain special circumstances. An 8,000-byte object is definitely not "small."
Usually, if you are faced with the problem of using a small allocator object, you want to improve the performance of some block of code. If using a small object allocator doesn't help your performance, you probably shouldn't use it.
source
share