История изменений
Исправление cvs-255, (текущая версия) :
#include <stdio.h>
#include <time.h>
#include <math.h>
int main(void)
{
long i;
double sum = 0;
clock_t start = clock();
for (i = 0 ; i <= 1e9; i++){
sum += sqrt(i);
}
printf("Time elapsed: %f\n", ((double)clock() - start) / CLOCKS_PER_SEC);
printf("Sum = %lf\n", sum);
return 0;
}
Time elapsed: 1.997675
using System;
using System.Diagnostics;
namespace root_test
{
class MainClass
{
public static void Main(string[] args)
{
long i;
double sum = 0;
Stopwatch sw = new Stopwatch();
sw.Start();
for (i = 0; i <= 1e9; i++)
{
sum += Math.Sqrt(i);
}
sw.Stop();
Console.WriteLine("Time elapsed: {0}\n", sw.Elapsed);
Console.WriteLine("Sum = {0}\n", sum);
}
}
}
Time elapsed: 00:00:05.8484139
И там и там собирал с макисмальной оптимизацией по скорости.
Разница в 3 раза. 3 раза это порой разница между ждать результатов расчета 20 минут или час. Или ставить 2 разных микроконтроллера, причем второй может оказаться гораздо более прожорливым
Исправление cvs-255, :
#include <stdio.h>
#include <time.h>
#include <math.h>
int main(void)
{
long i;
double sum = 0;
clock_t start = clock();
for (i = 0 ; i <= 1e9; i++){
sum += sqrt(i);
}
printf("Time elapsed: %f\n", ((double)clock() - start) / CLOCKS_PER_SEC);
printf("Sum = %lf\n", sum);
return 0;
}
Time elapsed: 1.997675
using System;
using System.Diagnostics;
namespace root_test
{
class MainClass
{
public static void Main(string[] args)
{
long i;
double sum = 0;
Stopwatch sw = new Stopwatch();
sw.Start();
for (i = 0; i <= 1e9; i++)
{
sum += Math.Sqrt(i);
}
sw.Stop();
Console.WriteLine("Time elapsed: {0}\n", sw.Elapsed);
Console.WriteLine("Sum = {0}\n", sum);
}
}
}
Time elapsed: 00:00:05.8484139
И там и там собирал с макисмальной оптимизацией по скорости.
Разница в 3 раза. 3 раза это порой разница между ждать результатов расчета 20 минут или час. Или ставить 2 разных микроконтроллера
Исходная версия cvs-255, :
#include <stdio.h>
#include <time.h>
#include <math.h>
int main(void)
{
long i;
double sum = 0;
clock_t start = clock();
for (i = 0 ; i <= 1e9; i++){
sum += sqrt(i);
}
printf("Time elapsed: %f\n", ((double)clock() - start) / CLOCKS_PER_SEC);
printf("Sum = %lf\n", sum);
return 0;
}
Time elapsed: 1.997675
using System;
using System.Diagnostics;
namespace root_test
{
class MainClass
{
public static void Main(string[] args)
{
long i;
double sum = 0;
Stopwatch sw = new Stopwatch();
sw.Start();
for (i = 0; i <= 1e9; i++)
{
sum += Math.Sqrt(i);
}
sw.Stop();
Console.WriteLine("Time elapsed: {0}\n", sw.Elapsed);
Console.WriteLine("Sum = {0}\n", sum);
}
}
}
Time elapsed: 00:00:05.8484139
И там и там собирал с макисмальной оптимизацией по скорости.
Разница в 3 раза