#include #include #include char *buffer; /* kinder to stack */ const int range = 'a'+26; int length = 0; int spin(register char* p){ /* 26 == alphabet */ for(*p='a';*p * ./recurse 3 */ int main(int argc, char ** argv) { if(argc!=2) return argc; int pass_length = atoi(argv[1]); buffer = (char *) calloc(pass_length+1,sizeof(char)); buffer[pass_length]='\0'; memset(buffer,'a',pass_length); /* This is a call to a recursive function */ length = pass_length-1; spin(buffer); return 0; } /* old ------------------------- real 0m49.464s user 0m0.944s sys 0m3.292s ------------------------- new ------------------------- real 0m10.825s user 0m0.308s sys 0m1.436s ------------------------- */