int main(int argc, char **argv)
{
    init_gc_zone();
    int do_auto = 1;
    int do_malloc = 1;
    if (argc > 1) {
        if (argv[1][0] == 'b') {
            ;
        }
        else if (argv[1][0] == 'm') {
            do_auto = 0;
        }
        else if (argv[1][0] == 'a') {
            do_malloc = 0;
        }
    }
    else {
    }
#if 1
    if (do_auto) testauto(1);
    if (do_malloc) testmalloc(1);
#endif
    auto_date_t overhead = auto_date_now();
    auto_date_t begin = auto_date_now();
    if (do_auto) testauto(NOBJECTS);
    auto_date_t middle = auto_date_now();
    if (do_malloc) testmalloc(NOBJECTS);
    auto_date_t zend = auto_date_now();

    printf("overhead %lld\n", begin-overhead);
    printf("begin %lld\nafter auto %lld\nafter malloc %lld\n\n", begin, middle, zend);
    
    printf("auto time   %lld\nmalloc time %lld\n", middle-begin, zend-middle);
    printf("sum         %lld\n", middle-begin + zend-middle);
    //collect();
    //pause();
	return 0;
}
Пример #2
0
int main(int argc, char ** argv) {
  testmalloc();
}