LINUX.ORG.RU

История изменений

Исправление 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 раза