mymuss

Advanced Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору dremon Ryback Bloody_Nokia_Adept Общественность приперлась, встречайте! Итак, дабы расставить все точки над i, решил провести маленький тест. Использовалось: Athlon 1000Mhz, FreeBSD 4.6.2-STABLE, gcc 2.95.3, perl 5.8.0, Benchmark 1.04 Итак! Мамба намба ван: Код: #include <stdio.h> или #include <iostream.h> int main (int argc, char **argv) { int i; fprintf(stdout, "%d%d%d%d\n", 1, 2, 3, 4); или cout<<1<<2<<3<<4<<endl; exit (0); } | Комманды компилятора: Код: gcc -Wall -o testc testc.c g++ -Wall -o testcpp testcpp.cpp | Оболочка для тестирования: Код: #!/usr/bin/perl -w use strict; use Benchmark qw( :all ); my $cpp = './testcpp'; my $c = './testc'; my $count = $ARGV[0]; cmpthese($count, { 'c' => sub {system($c)}, 'cpp' => sub {system($cpp)}, }); exit 0; | Результаты: Цитата: [andrew@tower:~/c]>./test.pl 1000 | grep -vi 1234 Benchmark: timing 1000 iterations of c, cpp... c: 2 wallclock secs ( 0.02 usr 0.42 sys + 0.05 cusr 1.38 csys = 1.87 CPU) @ 2285.71/s (n=1000) cpp: 3 wallclock secs ( 0.01 usr 0.44 sys + 0.41 cusr 2.34 csys = 3.20 CPU) @ 2245.61/s (n=1000) Rate cpp c cpp 2246/s -- -2% c 2286/s 2% -- | Мамба намба ту: Ключевую строку меняем на: Код: for (i = 0; i <= 1000000; i++) { fprintf(stdout, "%d%d%d%d\n", 1, 2, 3, 4); или cout<<1<<2<<3<<4<<endl; } | Комманды компилятора: Код: gcc -Wall -O3 -o testc testc.c g++ -Wall -O3 -o testcpp testcpp.cpp | Результаты: Цитата: [andrew@tower:~/c]>time ./testc > /dev/null real 0m1.496s user 0m1.496s sys 0m0.001s | Цитата: [andrew@tower:~/c]>time ./testcpp > /dev/null real 0m3.950s user 0m2.487s sys 0m1.458s | Комметарии излишни ? (Аплодисментов не надо) А вообще, кто-то правильно заметил, что libc != stdio.h. Там дофига функций работы с сигналами, процессами, локалью итд... Так что одним iostream и STL сыт не будешь. Использовать stdio или iostream - дело вкуса, но учить libc надо! (вспомните, как вопрос ставился )
---------- (a + b^n) / n = x, donc Dieu existe; répondez ! Euler |
| Всего записей: 709 | Зарегистр. 13-04-2003 | Отправлено: 21:58 27-05-2003 | Исправлено: mymuss, 22:00 27-05-2003 |
|