Итак, я написал Python и C-программу для сравнения времени выполнения, они оба записывают 10 ^ 7 байт в один и тот же файл.Я ожидал, что программа на C будет намного короче, но я ошибся.
Кстати, при запуске кода на C он чувствовал себя быстрее, чем код на python.Также извините за отсутствие комментариев, это был момент, и все довольно просто.
Ниже приведен результат и код для обоих, есть идеи, почему это происходит?
Результат:
The c program took 4.410720e+05s
The python program took 2.296329s
C Код:
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void program(){
FILE *f;
f = fopen("temp.txt", "w");
for(unsigned int i = 1; i <= pow(10,7); i++){
fprintf(f, "a");
}
fclose(f);
}
int main(void){
clock_t begin = clock();
program();
clock_t end = clock();
double time_spent = (double)(end - begin);
FILE *f = fopen("runtime_log","a");
fprintf(f, "The c program took ");
fprintf(f, "%les\n",time_spent);
fclose(f);
return 0;
}
Код Python:
import time
def main():
start = time.time()
program()
end = time.time()
runtime = end - start
f = open('runtime_log','a')
f.write('The python program took %fs\n' %runtime)
def program():
f = open('temp.txt','w')
for i in range(10**7):
f.write('a')
main()