]> Cypherpunks repositories - keks.git/commitdiff
Count number of reallocs
authorSergey Matveev <stargrave@stargrave.org>
Mon, 16 Jun 2025 09:11:52 +0000 (12:11 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Mon, 16 Jun 2025 09:11:52 +0000 (12:11 +0300)
c/lib/items.c
c/lib/items.h

index 7d18f95d5c8c04b9b0562776a775c480bcbbb27ddc926f9ddc592b511d9b63d0..7d3fc7ef7c0a82c32a59a90db379caf4502aa0eace893652e688a3911e64e6f6 100644 (file)
@@ -32,6 +32,7 @@ KEKSItemsInit(struct KEKSItems *items, const ptrdiff_t initialLen)
 {
     items->len = 0;
     items->cap = initialLen;
+    items->reallocs = 0;
     items->list = calloc((size_t)(items->cap), sizeof(struct KEKSItem));
     if (items->list == NULL) {
         return KEKSErrNoMem;
@@ -89,6 +90,7 @@ KEKSItemsGrow(struct KEKSItems *items)
     }
     size_t begin = items->len * sizeof(struct KEKSItem);
     memset((unsigned char *)(items->list) + begin, 0, size - begin);
+    items->reallocs++;
 
     if (items->offsets != NULL) {
         size = (size_t)(items->cap) * sizeof(size_t);
index 7828c388983b5edf6b6fac63e34fd212afea36c79774cde6c0c19645532e3fcb..0192c91adb896d76906f50347822989b27e325535191d64c3a23d6a03c8e8a64 100644 (file)
@@ -52,6 +52,7 @@ struct KEKSItems {
     struct KEKSItem *list;
     size_t *offsets;
     size_t len;
+    size_t reallocs;
     ptrdiff_t cap;
 };