calloc 與 malloc
calloc(count, size) ≠ malloc(count * size) + memset(0):
- Overflow 檢查:
calloc會檢查count × size有沒有 overflow;自己乘再malloc可能默默配到一塊很小的記憶體。 - 不一定要 memset:如果拿到的記憶體本來就是 0(例如剛從 OS
mmap來的新 page),calloc可以跳過清零,大塊配置時快很多。
calloc(count, size) ≠ malloc(count * size) + memset(0):
calloc 會檢查 count × size 有沒有 overflow;自己乘再 malloc 可能默默配到一塊很小的記憶體。mmap 來的新 page),calloc 可以跳過清零,大塊配置時快很多。