小编coy*_*emk的帖子

malloc 和 free 上的计时

我想了解的时机mallocfree。所以我写了这个简单的程序:

#include <stdlib.h>
#include <stdio.h>


int
main()
{
  long i;
  for(i = 2; i < 10000000000; i*=2) {
    struct timeval start, end;
    double timing ;
    long j;
    gettimeofday(&start, NULL);
    double *vect = malloc((size_t) i * sizeof(*vect));
    if (!vect) {
      printf("malloc failed\n");
      exit(-1);
    }
    gettimeofday(&end, NULL);
    timing =  (double) (end.tv_sec * 1e6 + end.tv_usec) - (start.tv_sec * 1e6 + start.tv_usec);
    printf("size %ld allocating (%f)\t", i * sizeof(*vect), timing);
    /* I do this to avoid lazy allocation */ …
Run Code Online (Sandbox Code Playgroud)

c allocation

6
推荐指数
1
解决办法
772
查看次数

标签 统计

allocation ×1

c ×1