LINUX.ORG.RU

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

Исправление thegoldone, (текущая версия) :

// c
#include <stdio.h>

int
main ()
{
  double s01 = 15.15;
  double s02 = 25.25;
  double s03 = 75.75;
  double s04 = 15.15;
  double s05 = 25.25;
  double s06 = 75.75;
  double s07 = 15.15;
  double s08 = 25.25;
  double s09 = 75.75;
  double s10 = 15.15;
  double s11 = 25.25;
  double s12 = 75.75;

  for (int i = 0; i < 10000000; ++i)
    {
      printf ("%f %f %f %f %f %f %f %f %f %f %f %f", s01, s02, s03, s04, s05,
              s06, s07, s08, s09, s10, s11, s12);
    }
}

// cpp
#include <iostream>

using namespace std;

int
main ()
{
  cout.sync_with_stdio (false);

  double s01 = 15.15;
  double s02 = 25.25;
  double s03 = 75.75;
  double s04 = 15.15;
  double s05 = 25.25;
  double s06 = 75.75;
  double s07 = 15.15;
  double s08 = 25.25;
  double s09 = 75.75;
  double s10 = 15.15;
  double s11 = 25.25;
  double s12 = 75.75;

  for (int i = 0; i < 10000000; ++i)
    {
      std::cout << s01 << ' ' << s02 << ' ' << s03 << ' ' << s04 << ' ' << s05
                << ' ' << s06 << ' ' << s07 << ' ' << s08 << ' ' << s09 << ' '
                << s10 << ' ' << s11 << ' ' << s12;
    }
}


$ time ./outc > /dev/null

real    0m13,423s
user    0m13,365s
sys     0m0,040s

$ time ./outcpp > /dev/null

real    0m17,406s
user    0m17,369s
sys     0m0,017s

Исходная версия thegoldone, :

// c
#include <stdio.h>

int
main ()
{
  double s01 = 15.15;
  double s02 = 25.25;
  double s03 = 75.75;
  double s04 = 15.15;
  double s05 = 25.25;
  double s06 = 75.75;
  double s07 = 15.15;
  double s08 = 25.25;
  double s09 = 75.75;
  double s10 = 15.15;
  double s11 = 25.25;
  double s12 = 75.75;

  for (int i = 0; i < 10000000; ++i)
    {
      printf ("%f %f %f %f %f %f %f %f %f %f %f %f", s01, s02, s03, s04, s05,
              s06, s07, s08, s09, s10, s11, s12);
    }
}

// cpp
#include <iostream>

using namespace std;

int
main ()
{
  cout.sync_with_stdio (false);

  double s01 = 15.15;
  double s02 = 25.25;
  double s03 = 75.75;
  double s04 = 15.15;
  double s05 = 25.25;
  double s06 = 75.75;
  double s07 = 15.15;
  double s08 = 25.25;
  double s09 = 75.75;
  double s10 = 15.15;
  double s11 = 25.25;
  double s12 = 75.75;

  for (int i = 0; i < 10000000; ++i)
    {
      std::cout << s01 << ' ' << s02 << ' ' << s03 << ' ' << s04 << ' ' << s05
                << ' ' << s06 << ' ' << s07 << ' ' << s08 << ' ' << s09 << ' '
                << s10 << ' ' << s11 << ' ' << s12 << ' ';
    }
}


$ time ./outc > /dev/null

real    0m13,423s
user    0m13,365s
sys     0m0,040s

$ time ./outcpp > /dev/null

real    0m17,406s
user    0m17,369s
sys     0m0,017s