LINUX.ORG.RU
ФорумTalks

[Диплом][Замеры производительности][2SMD] Очередной забег.

 


0

1

По мотивам http://www.linux.org.ru/forum/talks/6292735.

Тест в значительной мере переписан, написан на C с использованием POSIX (mingw скомпилировать не смог).

Теперь тест состоит из 11 подтестов:

1. Замер производительности rand() — поскольку она используется везде, как источник данных.

2. Заполнение 8 мегабайтного блока данных;

3. Арифметические опреации над int;

4. Арифметические опреации над double;

5. Арифметические опреации над long double;

6. Арифметические опреации над unsigned int;

7. Вычисление функции (double);

8. Вычисление функции (long double);

9. Многопоточное выполнение (255 потоков);

10. Запись 8 мегабайтного блока данных на диск;

11. Чтение случайных байтов из файла.

В тесте применяется алгоритм вычислений K-best (K = 5; +1 выполняется для «разогрева»). Максимально производится на подтест — 54 замера, минимально — 6, количество замеров зависит от сходимости результатов.

Приведу пример своих результатов:

Random Stress Test v0.9
(1/11) Random function (40960000 steps) 519685 microsecs.
(2/11) Memory filling (8388608 bytes, 128 steps) 190266 microsecs.
(3/11) Arithmetic test with integers (20480000 steps) 2897902 microsecs.
(4/11) Arithmetic test with doubles (20480000 steps) 3971717 microsecs.
(5/11) Arithmetic test with long doubles (20480000 steps) 6098532 microsecs.
(6/11) Arithmetic test with unsigned integers (20480000 steps) 2887154 microsecs.
(7/11) Complex function calculation (double) (5120000 steps) 2319473 microsecs.
(8/11) Complex function calculation (long double) (5120000 steps) 3301908 microsecs.
(9/11) Massive threads test (255 threads, 409600 steps) 3009749 microsecs.
(10/11) File sequential writing (8388608 bytes, 4 steps) 1010326 microsecs.
(11/11) File random reading (8388608 bytes, 5120000 steps) 8840010 microsecs.
(--/--) Control task 1815780 microsecs.

На AMD V120 2,2GHz, Gentoo Linux.

Проведение эксперимента: Берём исходник теста ftp://arbuzoff.org/shared2/main.tar.bz2 (сервер частный, не мой, отключается на ночь). Распаковываем. Компилируем командой

gcc -lm -pthread main.c -o test
Запускаем. Ожидаем конца работы приложения (на моём компьютере это заняло около 2-5 мин.) В результате должен появиться файл result.txt, который мне и нужен. Желательно указывать процессор, его частоту и количество ядер. В случае очень сильных отклонений: ядро, версию компилятора.

P.S. Intel Celeron 500MHz не справился с тестом. Застрял на 2м уже.

P.P.S. По задумке 9й тест должен был пускать 1024 потока. Однако, скомпилированное приложение в Mandrake Linux 10.0 сегфолилось.

P.P.P.S. Двуядерная машина с Debian 6 (default kernel) показала результат в 14 сек в девятом, тогда как одноядерная с Gentoo (ядро 2.6.38.2) - 5 сек (в варианте в 1024 потоками). Sic!

P.P.P.P.S. Эта мелкая программулина станет частью общего приложения на Qt. Вопрос аудитории: имеет ли смысл вкручивать в неё Qtизмы или лучше оставить в том виде, в каком она сейчас?

P.P.P.P.P.S. Для обеспечения сходимости (и более быстрого завершения работы программы) желательно на время тестирования максимально компьютер разгрузить и не мешать ему.

P.P.P.P.P.P.S. 10й и 11й тест не привели к заметному проявлению 12309)). Заметное снижение производительности может произойти на 9м и, возможно, 2м тесте.

Заранее благодарен за помощь.

★★★★

Последнее исправление: DarkAmateur (всего исправлений: 2)
Random Stress Test v0.9
(1/11) Random function (40960000 steps) 1548236 microsecs.
(2/11) Memory filling (8388608 bytes, 128 steps) 2270076 microsecs.
(3/11) Arithmetic test with integers (20480000 steps) 6710079 microsecs.
(4/11) Arithmetic test with doubles (20480000 steps) 11624846 microsecs.
(5/11) Arithmetic test with long doubles (20480000 steps) 11750693 microsecs.
(6/11) Arithmetic test with unsigned integers (20480000 steps) 6852861 microsecs.
(7/11) Complex function calculation (double) (5120000 steps) 10172922 microsecs.
(8/11) Complex function calculation (long double) (5120000 steps) 14212122 microsecs.
(9/11) Massive threads test (255 threads, 409600 steps) 28194145 microsecs.
(10/11) File sequential writing (8388608 bytes, 4 steps) 217993 microsecs.
(11/11) File random reading (8388608 bytes, 5120000 steps) 23787008 microsecs.
(--/--) Control task 2059471 microsecs.

Genuine Intel(R) CPU 2160@1.80GHz Ubuntu 11.04

keiner
()

Результаты моего ноута: http://pastebin.com/8ce6yZWr

/proc/cpuinfo: http://pastebin.com/XWw5yPSE

о системе: http://pastebin.com/8dP6hKAM

Вечером выложу результаты со стационарки.

PS: выложил файл с исходниками на своем сервере — http://gnolltech.org/DarkAmateur-test.tar.bz2 (сервер не выключается, можешь добавить в топик, только тогда напиши MD5 суммы своего файла, чтобы не возникало вопросов;)). Ну и просьба когда файл можно будет убирать — напиши в этот топик.

Sectoid ★★★★★
()
model name      : Intel(R) Core(TM)2 Quad CPU    Q6600  @ 2.40GHz  


Random Stress Test v0.9                                                                                         
(1/11) Random function (40960000 steps) 461344 microsecs.                                                       
(2/11) Memory filling (8388608 bytes, 128 steps) 206275 microsecs.                                              
(3/11) Arithmetic test with integers (20480000 steps) 2181608 microsecs.                                        
(4/11) Arithmetic test with doubles (20480000 steps) 3175503 microsecs.                                         
(5/11) Arithmetic test with long doubles (20480000 steps) 3845288 microsecs.                                    
(6/11) Arithmetic test with unsigned integers (20480000 steps) 2131856 microsecs.                               
(7/11) Complex function calculation (double) (5120000 steps) 1651294 microsecs.                                 
(8/11) Complex function calculation (long double) (5120000 steps) 6677752 microsecs.                            
(9/11) Massive threads test (255 threads, 409600 steps) 52908216 microsecs.                                     
(10/11) File sequential writing (8388608 bytes, 4 steps) 716913 microsecs.                                      
(11/11) File random reading (8388608 bytes, 5120000 steps) 8765309 microsecs.                                   
(--/--) Control task 32767.000000 32768.000000 32767.000000 32767 -- step=0.000000                              
Segmentation fault    

только на 8 тесте он загрузил по полной все 4 ядра, остальные тесты - одно ядро на 100%

ciiccii
()

Ожидаем конца работы приложения (на моём компьютере это заняло около 2-5 мин.) В результате должен появиться файл result.txt

time gcc -lm -pthread main.c -o test

real	0m0.199s
user	0m0.130s
sys	0m0.050s

И никакого result.txt нема.

Siado ★★★★★
()
Ответ на: комментарий от Siado

Тьфу. Запустить же надо полученное =)

Siado ★★★★★
()
Ответ на: комментарий от ciiccii

только на 8 тесте он загрузил по полной все 4 ядра, остальные тесты - одно ядро на 100%

По полной может грузить только 9й.

Мне совершенно не понятна ситуация, почему многоядерные машины на поточном тесте сливают всё сильнее и сильнее??!! Разве эти 255 потоков не должны быть равномерно разложены по 64 потока на ядро? Или я в коде накосячил?

Sectoid — отдельное спасибо!

DarkAmateur ★★★★
() автор топика
./test 
Random Stress Test v0.9
(1/11) Random function (40960000 steps) 625425 microsecs.
(2/11) Memory filling (8388608 bytes, 128 steps) 182718 microsecs.
(3/11) Arithmetic test with integers (20480000 steps) 2894153 microsecs.
(4/11) Arithmetic test with doubles (20480000 steps) 4371196 microsecs.
(5/11) Arithmetic test with long doubles (20480000 steps) 5596495 microsecs.
(6/11) Arithmetic test with unsigned integers (20480000 steps) 2875600 microsecs.
(7/11) Complex function calculation (double) (5120000 steps) 2052421 microsecs.
(8/11) Complex function calculation (long double) (5120000 steps) 3270762 microsecs.
(9/11) Massive threads test (255 threads, 409600 steps) 36443451 microsecs.
(10/11) File sequential writing (8388608 bytes, 4 steps) 151092 microsecs.
(11/11) File random reading (8388608 bytes, 5120000 steps) 9492840 microsecs.
(--/--) Control task 4197360.000000 4197361.000000 4197360.000000 4197360 -- step=0.000000
Ошибка сегментирования

Четырехядерник: model name : AMD Phenom(tm) II N930 Quad-Core Processor cpu MHz : 2000.000 cache size : 512 KB

Siado ★★★★★
()
Ответ на: комментарий от Siado

И все тесты прошли гладко, систему ничего не перегрузило, пока тестировалось лазил в инете.

Siado ★★★★★
()
Ответ на: комментарий от DarkAmateur

Дебагером по этому тесту пройти надо =)

И да из-за сегфолта файл с результатом не создается, ессесено.

Siado ★★★★★
()

Athlon II x2 250 @ 3.23GHz, DDR3.


Random Stress Test v0.9
(1/11) Random function (40960000 steps) 408668 microsecs.
(2/11) Memory filling (8388608 bytes, 128 steps) 160796 microsecs.
(3/11) Arithmetic test with integers (20480000 steps) 1286327 microsecs.
(4/11) Arithmetic test with doubles (20480000 steps) 1340362 microsecs.
(5/11) Arithmetic test with long doubles (20480000 steps) 1302755 microsecs.
(6/11) Arithmetic test with unsigned integers (20480000 steps) 1400777 microsecs.
(7/11) Complex function calculation (double) (5120000 steps) 80500 microsecs.
(8/11) Complex function calculation (long double) (5120000 steps) 89021 microsecs.
(9/11) Massive threads test (255 threads, 409600 steps) 26968637 microsecs.
(10/11) File sequential writing (8388608 bytes, 4 steps) 119608 microsecs.
(11/11) File random reading (8388608 bytes, 5120000 steps) 6278063 microsecs.
(--/--) Control task 360543 microsecs.

x3al ★★★★★
()
Random Stress Test v0.9
(1/11) Random function (40960000 steps) 693228 microsecs.
(2/11) Memory filling (8388608 bytes, 128 steps) 210756 microsecs.
(3/11) Arithmetic test with integers (20480000 steps) 2598255 microsecs.
(4/11) Arithmetic test with doubles (20480000 steps) 4107901 microsecs.
(5/11) Arithmetic test with long doubles (20480000 steps) 6391461 microsecs.
(6/11) Arithmetic test with unsigned integers (20480000 steps) 2616039 microsecs.
(7/11) Complex function calculation (double) (5120000 steps) 1841372 microsecs.
(8/11) Complex function calculation (long double) (5120000 steps) 2736210 microsecs.
(9/11) Massive threads test (255 threads, 409600 steps) 12556645 microsecs.
(10/11) File sequential writing (8388608 bytes, 4 steps) 44371 microsecs.
(11/11) File random reading (8388608 bytes, 5120000 steps) 12943233 microsecs.
(--/--) Control task 0.000000 1.000000 0.000000 0 -- step=0.000000
386038891.273125 
RESULT - 3.141593
0.000000 1.000000 0.000000 0 -- step=0.000000
386038891.273125 
RESULT - 3.141593
0.000000 1.000000 0.000000 0 -- step=0.000000
386038891.273125 
RESULT - 3.141593
0.000000 1.000000 0.000000 0 -- step=0.000000
386038891.273125 
RESULT - 3.141593
0.000000 1.000000 0.000000 0 -- step=0.000000
386038891.273125 
RESULT - 3.141593
0.000000 1.000000 0.000000 0 -- step=0.000000
386038891.273125 
RESULT - 3.141593
1433916 microsecs.

AMD Athlon(tm) 64 X2 4600+ 2.4MHz, Gentoo ~amd64

d0de-stillhet
()
Ответ на: комментарий от DarkAmateur

У тебя в том тесте где-то на цикле while сегфолтится

Siado ★★★★★
()

По исходнику:

        void* p = malloc(MEMORY_SIZE);
        memset(p,(char)((double)rand() / RAND_MAX * 250),MEMORY_SIZE);

А кто будет проверять (p != NULL)? И дальше куча подобных ошибок.

    int sum1, sum2, sum3, sum4, sum5, sum6, sum7, sum8;
    sum1 = sum2 = sum3 = sum4 = sum5 = sum6 = sum7 = sum8 = 0;

А не сделать ли тут массив? И таких мест тоже несколько.

        sum1 += ((int)rand() / RAND_MAX * 10) - 5;
        sum2 += ((int)rand() / RAND_MAX * 10) - 5;
        sum3 += ((int)rand() / RAND_MAX * 10) - 5;
        sum4 += ((int)rand() / RAND_MAX * 10) - 5;
        sum5 += ((int)rand() / RAND_MAX * 10) - 5;
        sum6 += ((int)rand() / RAND_MAX * 10) - 5;
        sum7 += ((int)rand() / RAND_MAX * 10) - 5;
        sum8 += ((int)rand() / RAND_MAX * 10) - 5;
((int)rand() / RAND_MAX) всегда равно нулю. Дальше по коду аналогично.

        sqrt(exp(pow(cos(((double) rand() / RAND_MAX * 1000)),sin(((double) rand() / RAND_MAX * 1000)))));

Результат вычисления неплохо бы куда-нибудь передавать. А то шибко умный компилятор от всего выражения может оставить только два вызова функции rand, так как она имеет побочный эффект (изменяет random seed). Тоже дважды встречается...

void* test(void* i)
{
    int j = *((int*)i);
    //printf("%d - !!!\n",j);
    int k;
    for(k=1;k<=RANDOM_ITERATIONS_PER_THREAD;++k)
        rand();
}

void threads()
{
    pthread_t* tr[MAX_THREADS];
    int i = 0;
    for(i=0;i<MAX_THREADS;++i)
        tr[i] = malloc(sizeof(pthread_t));
    int* j;
    for(i=0;i<MAX_THREADS;++i)
    {
        j = malloc(sizeof(int));
        *j = i;
        pthread_create(tr[i],NULL,test,j);
    }
    for(i=0;i<MAX_THREADS;++i)
    //    printf("%d - %d\n",i,pthread_join(*(tr[i]),NULL));
        pthread_join(*(tr[i]),NULL);
    for(i=0;i<MAX_THREADS;++i)
        free(tr[i]);
    
}

Куча ненужных выделений памяти. Не проверяется возвращаемое значение pthread_create и pthread_join. Возможно именно из-за этого у тебя тест падает при попытке создать кучу нитей: нити перестают создаваться (например упёршись в ограничение ulimit), а затем ты пытаешься сделать pthread_join на несущетсвующую нить.

void blockDiskWriting() {

void randomByteReading()
{

Тесты практически бесполезны ввиду наличия в линуксе кеширования. Надо либо работать прямо с блочным устройством минуя все программные кеши (честно говоря хз как это сделать, надо смотреть исходники hdparm), либо оперировать такими объёмами данных, которые бы точно не поместились в кеш в оперативной памяти.

long int getTimeOfExecute(void m())
{
    long int r = 0;
    struct timeval tStart;
    struct timeval tEnd;
    gettimeofday(&tStart,NULL);
    m();
    gettimeofday(&tEnd,NULL);
    r = (tEnd.tv_sec - tStart.tv_sec)*1000000 + (tEnd.tv_usec - tStart.tv_usec);
    return r;
}

Функция gettimeofday чувствительна к изменению системного времени. Лучше использовать clock_gettime с CLOCK_MONOTONIC или CLOCK_MONOTONIC_RAW.

Deleted
()
Ответ на: комментарий от DarkAmateur

Чёрт, это второй сегфол... Что за дела?

$ gcc -lm -pthread ~/downloads/main.c -Wall -Wextra -o test
/home/ivan.mironov/downloads/main.c: In function ‘test’:
/home/ivan.mironov/downloads/main.c:158:9: warning: unused variable ‘j’ [-Wunused-variable]
/home/ivan.mironov/downloads/main.c: In function ‘main’:
/home/ivan.mironov/downloads/main.c:329:14: warning: unused parameter ‘argc’ [-Wunused-parameter]
/home/ivan.mironov/downloads/main.c:329:27: warning: unused parameter ‘argv’ [-Wunused-parameter]
/home/ivan.mironov/downloads/main.c: In function ‘test’:
/home/ivan.mironov/downloads/main.c:163:1: warning: control reaches end of non-void function [-Wreturn-type]
/home/ivan.mironov/downloads/main.c: In function ‘testprog’:
/home/ivan.mironov/downloads/main.c:308:25: warning: ‘i’ is used uninitialized in this function [-Wuninitialized]

Особо обрати внимание на последний варнинг. Я в код особо не вчитывался, но у тебя там вроде идёт обращение к массиву по неинициализированному индексу. Может там и сегфолтится.

Deleted
()
cat /proc/cpuinfo | grep 'model name'
model name      : Intel(R) Xeon(R) CPU           E5504  @ 2.00GHz


./test
Random Stress Test v0.9
(1/11) Random function (40960000 steps) 556864 microsecs.
(2/11) Memory filling (8388608 bytes, 128 steps) 118621 microsecs.
(3/11) Arithmetic test with integers (20480000 steps) 2681750 microsecs.
(4/11) Arithmetic test with doubles (20480000 steps) 2967779 microsecs.
(5/11) Arithmetic test with long doubles (20480000 steps) 3204837 microsecs.
(6/11) Arithmetic test with unsigned integers (20480000 steps) 2630813 microsecs.
(7/11) Complex function calculation (double) (5120000 steps) 1674223 microsecs.
(8/11) Complex function calculation (long double) (5120000 steps) 9580419 microsecs.
(9/11) Massive threads test (255 threads, 409600 steps) 27584035 microsecs.
(10/11) File sequential writing (8388608 bytes, 4 steps) 27639 microsecs.
(11/11) File random reading (8388608 bytes, 5120000 steps) 4947889 microsecs.
(--/--) Control task 4205368.000000 4205369.000000 4205368.000000 4205368 -- step=0.000000
Segmentation fault
shrub ★★★★★
()
Ответ на: По исходнику: от Deleted

Не проверяется возвращаемое значение pthread_create и pthread_join.

Тут как раз не падает. Я думал там проверять, но ...

Тесты практически бесполезны ввиду наличия в линуксе кеширования.

Я не определяю скорость чтения / записи, а время выполнения в каком-либо окружении (в данном случае, на твоей машине). Если у тебя огромный эффективный кеш, то он скорее всего используется глобально, а не в какой-либо определённой программе.

DarkAmateur ★★★★
() автор топика
Random Stress Test v0.9
(1/11) Random function (40960000 steps) 391834 microsecs.
(2/11) Memory filling (8388608 bytes, 128 steps) 183436 microsecs.
(3/11) Arithmetic test with integers (20480000 steps) 1904750 microsecs.
(4/11) Arithmetic test with doubles (20480000 steps) 2909884 microsecs.
(5/11) Arithmetic test with long doubles (20480000 steps) 3726380 microsecs.
(6/11) Arithmetic test with unsigned integers (20480000 steps) 1907467 microsecs.
(7/11) Complex function calculation (double) (5120000 steps) 1394552 microsecs.
(8/11) Complex function calculation (long double) (5120000 steps) 2172278 microsecs.
(9/11) Massive threads test (255 threads, 409600 steps) 56181992 microsecs.
(10/11) File sequential writing (8388608 bytes, 4 steps) 347789 microsecs.
(11/11) File random reading (8388608 bytes, 5120000 steps) 7070365 microsecs.
(--/--) Control task 1224206 microsecs.


Athlon II X3 440 (3 GHz), gcc 4.4, x86_64.

GotF ★★★★★
()
Ответ на: комментарий от DarkAmateur

Этот код просто совершенно левый. Я его сам особо не читал.

тоесть ты выложил код, который сам не читал/писал и попросил протестировать. Мда. Больше можешь тут с такими просьбами не появляться. ппц.

ciiccii
()
Ответ на: комментарий от DarkAmateur

Я не определяю скорость чтения / записи, а время выполнения в каком-либо окружении (в данном случае, на твоей машине). Если у тебя огромный эффективный кеш, то он скорее всего используется глобально, а не в какой-либо определённой программе.

Просто данная часть теста скорее всего показывает погоду на марсе =).

Deleted
()
Ответ на: комментарий от DarkAmateur

Тут как раз не падает. Я думал там проверять, но ...

Оно может там падать или работать неправильно. Так что это именно ошибка.

Deleted
()
Ответ на: комментарий от ciiccii

Не, просто тесты писал сам. А последнюю спёр.

DarkAmateur ★★★★
() автор топика
cynicism:/home/ramon/Data # ./test                                                                                                           
Random Stress Test v0.9                                                                                                                      
(1/11) Random function (40960000 steps) 1577836 microsecs.                                                                                   
(2/11) Memory filling (8388608 bytes, 128 steps) 2757354 microsecs.                                                                          
(3/11) Arithmetic test with integers (20480000 steps) 6602207 microsecs.                                                                     
(4/11) Arithmetic test with doubles (20480000 steps) 9270758 microsecs.                                                                      
(5/11) Arithmetic test with long doubles (20480000 steps) 9120386 microsecs.
(6/11) Arithmetic test with unsigned integers (20480000 steps) 6437069 microsecs.
(7/11) Complex function calculation (double) (5120000 steps) 18962901 microsecs.
(8/11) Complex function calculation (long double) (5120000 steps) 27740105 microsecs.
(9/11) Massive threads test (255 threads, 409600 steps) 8645135 microsecs.
(10/11) File sequential writing (8388608 bytes, 4 steps) 155119 microsecs.
(11/11) File random reading (8388608 bytes, 5120000 steps) 22585035 microsecs.
(--/--) Control task -1082054100.000000 -1082054099.000000 -1082054100.000000 -1082054100 -- step=0.000000
Ошибка сегментирования
cynicism:/home/ramon/Data # cat /proc//cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 4
model name      : Intel(R) Celeron(R) CPU 2.80GHz
stepping        : 9
cpu MHz         : 2798.941
cache size      : 256 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 5
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm constant_tsc up pebs bts pni dtes64 monitor ds_cpl tm2 cid cx16 xtpr lahf_lm
bogomips        : 5597.88
clflush size    : 64
cache_alignment : 128
address sizes   : 36 bits physical, 48 bits virtual
ramon13666 ★★★
()
$ cat result.txt 
Random Stress Test v0.9a
(1/11) Random function (40960000 steps) 547337 microsecs.
(2/11) Memory filling (8388608 bytes, 128 steps) 362893 microsecs.
(3/11) Arithmetic test with integers (20480000 steps) 2339258 microsecs.
(4/11) Arithmetic test with doubles (20480000 steps) 3958396 microsecs.
(5/11) Arithmetic test with long doubles (20480000 steps) 4305055 microsecs.
(6/11) Arithmetic test with unsigned integers (20480000 steps) 2419386 microsecs.
(7/11) Complex function calculation (double) (5120000 steps) 1603154 microsecs.
(8/11) Complex function calculation (long double) (5120000 steps) 2127448 microsecs.
(9/11) Massive threads test (255 threads, 409600 steps) 28763296 microsecs.
(10/11) File sequential writing (8388608 bytes, 4 steps) 39350 microsecs.
(11/11) File random reading (8388608 bytes, 5120000 steps) 5924477 microsecs.
(--/--) Control task 1225767 microsecs.

Phenom II X4 3.2Ghz

bsdfun ★★★★★
()
Random Stress Test v0.9a
(1/11) Random function (40960000 steps) 478299 microsecs.
(2/11) Memory filling (8388608 bytes, 128 steps) 186514 microsecs.
(3/11) Arithmetic test with integers (20480000 steps) 2229935 microsecs.
(4/11) Arithmetic test with doubles (20480000 steps) 2462749 microsecs.
(5/11) Arithmetic test with long doubles (20480000 steps) 2674329 microsecs.
(6/11) Arithmetic test with unsigned integers (20480000 steps) 2170443 microsecs.
(7/11) Complex function calculation (double) (5120000 steps) 1363673 microsecs.
(8/11) Complex function calculation (long double) (5120000 steps) 8017345 microsecs.
(9/11) Massive threads test (255 threads, 409600 steps) 21049780 microsecs.
(10/11) File sequential writing (8388608 bytes, 4 steps) 86647 microsecs.
(11/11) File random reading (8388608 bytes, 5120000 steps) 5056365 microsecs.
(--/--) Control task 790944 microsecs.
model name	: Intel(R) Core(TM) i3 CPU       M 370  @ 2.40GHz

eugeneblack
()
Random Stress Test v0.9a
(1/11) Random function (40960000 steps) 1427512 microsecs.
(2/11) Memory filling (8388608 bytes, 128 steps) 1983245 microsecs.
(3/11) Arithmetic test with integers (20480000 steps) 6109261 microsecs.
(4/11) Arithmetic test with doubles (20480000 steps) 9551230 microsecs.
(5/11) Arithmetic test with long doubles (20480000 steps) 9477142 microsecs.
(6/11) Arithmetic test with unsigned integers (20480000 steps) 6212378 microsecs.
(7/11) Complex function calculation (double) (5120000 steps) 6732143 microsecs.
(8/11) Complex function calculation (long double) (5120000 steps) 8703750 microsecs.
(9/11) Massive threads test (255 threads, 409600 steps) 7223695 microsecs.
(10/11) File sequential writing (8388608 bytes, 4 steps) 325919 microsecs.
(11/11) File random reading (8388608 bytes, 5120000 steps) 21593832 microsecs.
(--/--) Control task 1376554 microsecs.
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 13
model name	: Intel(R) Pentium(R) M processor 1.80GHz
stepping	: 6
cpu MHz		: 1800.000
cache size	: 2048 KB
fdiv_bug	: no
hlt_bug		: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 2
wp		: yes
flags		: fpu vme de pse tsc msr mce cx8 mtrr pge mca cmov clflush dts acpi mmx fxsr sse sse2 ss tm pbe up bts est tm2
bogomips	: 3596.35
clflush size	: 64
cache_alignment	: 64
address sizes	: 32 bits physical, 32 bits virtual
power management:
gh0stwizard ★★★★★
()

тред схоронил, на следующей неделе постараюсь выдать результаты, тк в эту пятницу съездить не получится.

Deleted
()
Ответ на: комментарий от DarkAmateur

Схорони программу отдельно, ресурс не всегда доступен.

DarkAmateur ★★★★
() автор топика

p8400, 2.4GHz, SL 10.6.7

$ time ./test
Random Stress Test v0.9
(1/11) Random function (40960000 steps) 591180 microsecs.
(2/11) Memory filling (8388608 bytes, 128 steps) 191250 microsecs.
(3/11) Arithmetic test with integers (20480000 steps) 2586526 microsecs.
(4/11) Arithmetic test with doubles (20480000 steps) 2423703 microsecs.
(5/11) Arithmetic test with long doubles (20480000 steps) 3029412 microsecs.
(6/11) Arithmetic test with unsigned integers (20480000 steps) 2795547 microsecs.
(7/11) Complex function calculation (double) (5120000 steps) 1035876 microsecs.
(8/11) Complex function calculation (long double) (5120000 steps) 1981111 microsecs.
(9/11) Massive threads test (255 threads, 409600 steps) 1134785 microsecs.
(10/11) File sequential writing (8388608 bytes, 4 steps) 133189 microsecs.
(11/11) File random reading (8388608 bytes, 5120000 steps) 24324278 microsecs.
(--/--) Control task 0.000000 1.000000 0.000000 0 -- step=0.000000
386038891.273125 
RESULT - 3.141593
0.000000 1.000000 0.000000 0 -- step=0.000000
386038891.273125 
RESULT - 3.141593
1.000000 2.000000 1.000000 1 -- step=0.000000
158146843.297044 
RESULT - 1.287002
2.000000 3.000000 2.000000 2 -- step=0.000000
69745242.278995 
RESULT - 0.567588
3.000000 4.000000 3.000000 3 -- step=0.000000
37734920.820432 
RESULT - 0.307088
4.000000 5.000000 4.000000 4 -- step=0.000000
23388048.253030 
RESULT - 0.190332
694787 microsecs.

real	4m7.100s
user	2m17.363s
sys	1m55.131s
vsemprivet
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.