|
楼主 |
发表于 2021-9-23 14:36:24
|
显示全部楼层
下面是测试代码:
- void test_get_heap_free_space(unsigned long space)
- {
- unsigned char * p;
- unsigned long before;
- unsigned long after;
- long diff;
- unsigned long tick;
- DEBUG("test alloc space: %d", space);
-
- tick = TickGetUs();
- before = get_heap_free_space();
- tick = TickGetUs()-tick;
- DEBUG("before: %d, time: %d us", before, tick);
- p = malloc(space);
- tick = TickGetUs();
- after = get_heap_free_space();
- tick = TickGetUs()-tick;
- diff = before - after;
- diff = diff - space;
- DEBUG("after: %d, time: %d us", after, tick);
- DEBUG("diff: %d", diff);
- free(p);
- DEBUG("\r\n");
- }
- int main(void)
- {
- test_get_heap_free_space(1);
- test_get_heap_free_space(2);
- test_get_heap_free_space(3);
- test_get_heap_free_space(4);
- test_get_heap_free_space(100);
- test_get_heap_free_space(1000);
- test_get_heap_free_space(0x8000);
- test_get_heap_free_space(0xE000);
- }
复制代码
- test alloc space: 1
- before: 59941, time: 20 us
- after: 59929, time: 20 us
- diff: 11
- test alloc space: 2
- before: 59941, time: 20 us
- after: 59929, time: 20 us
- diff: 10
- test alloc space: 3
- before: 59941, time: 20 us
- after: 59929, time: 20 us
- diff: 9
- test alloc space: 4
- before: 59941, time: 20 us
- after: 59929, time: 20 us
- diff: 8
- test alloc space: 100
- before: 59941, time: 21 us
- after: 59844, time: 20 us
- diff: -3
- test alloc space: 1000
- before: 59941, time: 21 us
- after: 58935, time: 19 us
- diff: 6
- test alloc space: 32768
- before: 59941, time: 21 us
- after: 27171, time: 21 us
- diff: 2
- test alloc space: 57344
- before: 59941, time: 21 us
- after: 2588, time: 21 us
- diff: 9
复制代码
|
|