LINUX.ORG.RU
ФорумTalks

Давайте померяемся (benchmark для умножения матриц)


0

0

Откуда-то взялось в tracker'еr

Перед запуском не забываем выполнить

ulimit -s 65536

%--- This software is Public Domain, author: pacify
%--- solid-linux.org.ru.c
#include <stdio.h>
#include <time.h>
#include <math.h>
#include <stdlib.h>

#define M 500
#define N 500
#define FXX double

#define DEFM1(A) FXX A[M*N]
#define ADDR1(A,i,j) A[i*N+j]
#define KILL1(A,B,C)
#define INIT1(A,B,C) \
    for (i=M-1;i>0;i--) for (j=N-1;j>0;j--) ADDR1(C,i,j) = 0; \
    for (i=M-1;i>0;i--) for (j=N-1;j>0;j--) ADDR1(A,i,j) = ADDR1(B,i,j) = (i*j)/(FXX)(M*N);
#define CALC1 for (i=M-1;i>0;i--) for (j=N-1;j>0;j--) { TMP1=0; for (k=N-1;k>0;k--) TMP1 += ADDR1(A1,i,k) * ADDR1(B1,k,j); ADDR1(C1,i,j) = TMP1;}
#define SUMM1 SUM1=0; for (i=M-1;i>0;i--) for (j=N-1;j>0;j--) SUM1+=ADDR1(C1,i,j);

#define DEFM2(A) FXX A[M][N]
#define ADDR2(A,i,j) A[i][j]
#define KILL2(A,B,C)
#define INIT2(A,B,C) \
    for (i=M-1;i>0;i--) for (j=N-1;j>0;j--) ADDR2(C,i,j) = 0; \
    for (i=M-1;i>0;i--) for (j=N-1;j>0;j--) ADDR2(A,i,j) = ADDR2(B,i,j) = (i*j)/(FXX)(M*N);
#define CALC2 for (i=M-1;i>0;i--) for (j=N-1;j>0;j--) { TMP2=0; for (k=N-1;k>0;k--) TMP2 += ADDR2(A2,i,k) * ADDR2(B2,k,j); ADDR2(C2,i,j) = TMP2;}
#define SUMM2 SUM2=0; for (i=M-1;i>0;i--) for (j=N-1;j>0;j--) SUM2+=ADDR2(C2,i,j);

int main (int argc, char **argv) {
    DEFM1(A1); DEFM1(B1); DEFM1(C1);
    DEFM2(A2); DEFM2(B2); DEFM2(C2);
    unsigned int i;
    register unsigned int j,k;
    register FXX TMP1,TMP2;
    FXX SUM1,SUM2;
    clock_t T1,T2,T3,T4;
    double delta,d1,d2,d3,d4;
    INIT1(A1,B1,C1) T1=clock(); CALC1 T2=clock(); SUMM1
    INIT2(A2,B2,C2) T3=clock(); CALC2 T4=clock(); SUMM2
    KILL1(A1,B1,C1) KILL2(A2,B2,C2)
    delta=((double)((T4-T3)-(T2-T1)))/CLOCKS_PER_SEC;
    d1=((double)((T2-T1)))/CLOCKS_PER_SEC;
    d2=((double)((T4-T3)))/CLOCKS_PER_SEC;
    printf("%7d%7d%7d",M,N,(M*N));
    printf("%12.5lf%12.5lf%12.5lf",d1,d2,delta);
    printf("%15.7E%15.7E",SUM1/(M*N),SUM2/(M*N));
    printf("\n");
    return 0;
}
%--- Makefile

NAME = solid-linux.org.ru
OPTS = -O3 -march=native -ffast-math -fomit-frame-pointer -ffast-math 
GCC  = gcc

result : ${NAME}.c
        ${GCC} -S ${OPTS} -o ${NAME}.S ${NAME}.c
        ${GCC} ${OPTS} -o ${NAME} ${NAME}.c
        strip --strip-all ${NAME}

Тестирование:

$ make
$ ulimit -s 65536
$ ./solid-linux.org.ru

В результатах вывод программы, CPU type/speed и RAM type/speed, пожалуйста.



Последнее исправление: juk4windows (всего исправлений: 1)
Ответ на: комментарий от Andru

Во тебя разнесло, у меня чуть матрица не треснула :)

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

[mikhalich@mpc Documents]$ time ./solid-linux.org.ru

500 500 250000 0.89000 0.89000 0.00000 4.1375749E+01 4.1375749E+01

real 0m1.810s

user 0m1.784s

sys 0m0.022s

mikhalich ★★
()

вот, кстати, предыдущие результаты:

 0.50000 |  0.57000 | gcc-4.0.2 | linux-2.6.13 SMP x86_64 | 2x(Dual-Core AMD Opteron 2218) | 2.6 GHz | Die-Hard
 0.52000 |  0.89000 | icc-9.0   | linux-2.6.13 SMP x86_64 | 2x(Dual-Core AMD Opteron 2218) | 2.6 GHz | Die-Hard
 0.54000 |  0.54000 | gcc-3.4.6 (RedHat 3.4.6-3) | ? | 4x(Dual Core AMD Opteron 280) | ? | Dimez
 0.59000 |  0.69000 | gcc-4.0.2 | linux-2.6.13 SMP x86_64 | 4x(Dual-Core AMD Opteron 880) | 2.4 GHz | Die-Hard
 0.60000 |  0.60000 | gcc-4.1.1 (Gentoo 4.1.1-r3) | ? | AMD Athlon 64 | 2.2 GHz | Gharik
 0.61000 |  0.67000 | gcc-4.0.2 | linux-2.6.13 SMP x86_64 | 2x(AMD Opteron 248) | 2.2 GHz | Die-Hard
 0.61000 |  1.05000 | icc-9.0   | linux-2.6.13 SMP x86_64 | 4x(Dual-Core AMD Opteron 880) | 2.4 GHz | Die-Hard
 0.63000 |  0.64000 | gcc-4.1.1 (RedHat 4.1.1-51) | linux-2.6.19-1.2895.fc6 | Intel Core 2 Duo 6600 | ? | jr_A
 0.63000 |  0.98000 | icc-9.0   | linux-2.6.13 SMP x86_64 | 2x(AMD Opteron 248) | 2.2 GHz | Die-Hard
 0.63830 |  0.62757 | icc-8.0   | linux-2.4.21-sgi302r24 SMP | 32x(Intel Itanium-2) (sgi altix 3700) | 1300 MHz | Die-Hard
 0.65000 |  0.70000 | gcc-4.1.2 rc1 | ? | AMD Sempron 3400 | ? | birdie
 0.67000 |  0.67000 | gcc-4.1.1 (RedHat 4.1.1-51) | linux-2.6.19-1.2895.fc6 | Intel Core 2 Duo 6600 | ? | jr_A
 0.75000 |  0.75000 | gcc-4.1.1 | linux-2.6.18-gentoo-r4 | AMD Athlon 64 Processor 3000+ | ? | mutronix
 0.77000 |  0.72000 | gcc-4.1.3 | ? | AMD Athlon 64 3200+ | ? | anonymous
 0.79000 |  0.96000 | ?         | linux 2.6.19-1.2895.fc6 SMP x86_64 | AMD Athlon 64 3000+ | ? | hooj
 0.92100 |  0.92200 | msvc (?)  | Microsoft Windows XP [Version 5.1.2600] | AMD ? | ? | anonymous
 0.94000 |  1.03000 | gcc-4.1.3 | ? | 2x(Intel Xeon 5110) | 1.60 GHz | anonymous
 0.98000 |  1.13000 | gcc 4.1.2 | linux-2.6.17-10-generic i686 | Intel Pentium M | 1.70 GHz | beastie
 1.02000 |  0.96000 | gcc-4.1   | linux-2.6.17-10-generic i686 | AMD Turion64 X2 3200+ | ? | hibou
 1.08000 |  1.12000 | gcc-4.1.1 | linux-2.6.19-1.2895.fc6 SMP | 2x(Intel Pentium D | 3.40 GHz | Shaman007
 1.16000 |  1.10000 | ?         | linux-2.6.18-gentoo-r6 i686 | Intel Pentium 4 | 3.40 GHz | owlfog
 1.23000 |  1.48000 | gcc-4.0.3 | linux-2.6.19.2 | Intel Celeron M 1.5 GHz cache L2 1 MB | Buba
 1.26000 |  1.25000 | gcc-3.4.5 | sunos-5.10 | Intel Pentium 4 640 | 3200 MHz | anonymous
 1.31000 |  1.18000 | gcc-3.3.6 (Ubuntu 1:3.3.6-10) | ? | Intel Celeron M 1.5 GHz cache L2 1 MB | Buba
 1.43000 |  1.42000 | ?         | linux-2.6.15-27-686 SMP i686 | Intel Pentium D 805 | ? | Motiv_studenta
 1.59000 |  1.60000 | gcc-4.1.3 | ? | Intel Pentium 4 | 2.40 GHz | anonymous
 2.01934 |  1.74899 | gcc-3.2.3 (RedHat Linux 3.2.3-34) | linux-2.4.21-sgi302r24 SMP | 32x(Intel Itanium-2) (sgi altix 3700) | 1300 MHz | Die-Hard
 2.02000 |  2.02000 | gcc-3.4.6 | linux-2.6.17-gentoo-r5 i686 | AMD Athlon XP 2400+ | ? | rip_someday
 2.17000 |  2.18000 | gcc-3.3.5 | openbsd-4.0 i386 | Athlon XP 2200+ | ? | beastie
 2.25000 |  2.06000 | gcc-4.1.3 | ? | Intel Celeron | 2.53 GHz | anonymous
 2.29000 |  2.16000 | gcc-4.1.3 | ? | Intel Celeron | 2.13 GHz | anonymous
 2.44000 |  2.41000 | gcc-4.1.3 | ? | AMD Athlon XP 2200+ | ? | anonymous
 2.68800 |  2.70300 | msvc (?)  | Microsoft Windows XP [Version 5.1.2600] | AMD ? | ? | anonymous
 3.23000 |  3.24000 | gcc-3.4.6 | ? | 2x(Intel Pentium 3) | 750 MHz | sdio
 3.26000 |  3.33000 | gcc-4.1.2 | ? | 2x(Intel Pentium 3) | 750 MHz | sdio
 3.44000 |  3.37000 | gcc-4.1.1 | linux-2.6.18.3 i686 | AMD Athlon XP | 1100MHz | Juicy_Grape
 4.73314 |  4.51649 | cxx 6.3-002 | OSF1 V5.1 1885 alpha | alpha EV6.7 (21264A) | 667 MHz | Die-Hard
 4.83314 |  4.61648 | gcc-2.95.3 | OSF1 V5.1 1885 alpha | alpha EV6.7 (21264A) | 667 MHz | Die-Hard
10.40000 | 10.45000 | gcc-3.3.5 | linux-2.6.19 i686 | AMD Duron | 700 MHz | pacify
16.93400 | 17.04500 | Borland C++ Builder 6, no optimization, i386 | Microsoft Windows XP [Version 5.1.2600] | Intel Celeron | 668 MHz | pacify
18.20600 | 17.10500 | Borland C++ Builder 6, optimization for speed, Pentium | Microsoft Windows XP [Version 5.1.2600] | Intel Celeron | 668 MHz | pacify

pacify ★★★★★
()

time ./solid-linux.org.ru
500 500 250000 0.45000 0.42000 -0.03000 4.1375749E+01 4.1375749E+01

real   0m0.884s
user   0m0.872s
sys   0m0.009s

grep 'model name' /proc/cpuinfo
model name   : AMD Athlon(tm) II X2 250 Processor
model name   : AMD Athlon(tm) II X2 250 Processor

free
total used free shared buffers cached
Mem: 1791236 1629104 162132 0 15572 346044
-/+ buffers/cache: 1267488 523748
Swap: 4124664 79152 4045512

codoranro
()
    500    500 250000     0.58000     0.57000    -0.01000  4.1375749E+01  4.1375749E+01

real	0m1.161s
user	0m1.153s
sys	0m0.003s

AMD Turion(tm) II Dual-Core Mobile M520 (2300 MHz)

Type: DDR2 Form Factor: SODIMM Speed: 800 MHz

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

Вот подправленная программа:

#include <stdio.h>
#include <time.h>
#include <math.h>
#include <stdlib.h>

const long N = 500;
#define FXX double

#define DEFM1(A) FXX A[N*N]
#define ADDR1(A,i,j) A[i*N+j]
#define KILL1(A,B,C)
#define INIT1(A,B,C) \
    for (i=N-1;i>0;i--) for (j=N-1;j>0;j--) ADDR1(C,i,j) = 0; \
    for (i=N-1;i>0;i--) for (j=N-1;j>0;j--) ADDR1(A,i,j) = ADDR1(B,i,j) = (i*j);
#define CALC1 for (i=N-1;i>0;i--) for (j=N-1;j>0;j--) { TMP1=0; for (k=N-1;k>0;k--) TMP1 += ADDR1(A1,i,k) * ADDR1(B1,k,j); ADDR1(C1,i,j) = TMP1;}
#define SUMM1 SUM1=0; for (i=N-1;i>0;i--) for (j=N-1;j>0;j--) SUM1+=ADDR1(C1,i,j);

#define DEFM2(A) FXX A[N][N]
#define ADDR2(A,i,j) A[i][j]
#define KILL2(A,B,C)
#define INIT2(A,B,C) \
    for (i=N-1;i>0;i--) for (j=N-1;j>0;j--) ADDR2(C,i,j) = 0; \
    for (i=N-1;i>0;i--) for (j=N-1;j>0;j--) ADDR2(A,i,j) = ADDR2(B,i,j) = (i*j);
#define CALC2 for (i=N-1;i>0;i--) for (j=N-1;j>0;j--) { TMP2=0; for (k=N-1;k>0;k--) TMP2 += ADDR2(A2,i,k) * ADDR2(B2,k,j); ADDR2(C2,i,j) = TMP2;}
#define SUMM2 SUM2=0; for (i=N-1;i>0;i--) for (j=N-1;j>0;j--) SUM2+=ADDR2(C2,i,j);

int main (int argc, char **argv) {
    DEFM1(A1); DEFM1(B1); DEFM1(C1); // Определить матрицы первым способом
    DEFM2(A2); DEFM2(B2); DEFM2(C2); // Определить матрицы вторым способом
    register unsigned int i,j,k; // Счетчики по строкам,столбцам
    register FXX TMP1,TMP2;
    FXX SUM1,SUM2;
    clock_t T1,T2,T3,T4;
    double delta,d1,d2,d3,d4;
    // Перемножить две матрицы MxN, и суммировать элементы в результирующей
    INIT1(A1,B1,C1) T1=clock(); CALC1 T2=clock(); SUMM1
    INIT2(A2,B2,C2) T3=clock(); CALC2 T4=clock(); SUMM2
    KILL1(A1,B1,C1) KILL2(A2,B2,C2) // Если надо - free()
    // Посчитать и вывести время просчета
    delta=((T4-T3)-(T2-T1))/(double)CLOCKS_PER_SEC;
    d1=(T2-T1)/(double)CLOCKS_PER_SEC;
    d2=(T4-T3)/(double)CLOCKS_PER_SEC;
    printf("N=%lu (%lu mults) t1=%.3lf t2=%.3lf d=%.3lf %.5E %.5E\n",
      N,(N*N*N),
      d1,d2,delta,
      SUM1/(double)(N*N),SUM2/(double)(N*N));
    return 0;
}
P.S. Reset, просьба не ругаться на код - я это писал в порыве энтузиазма.

pacify ★★★★★
()
Ответ на: комментарий от pacify
#!/bin/bash
NAME="solid-matrix"
OPTS="-march=native -O7 -ffast-math -fstrength-reduce"
GCC="gcc"
$GCC -S $OPTS -o ${NAME}.S ${NAME}.c
$GCC $OPTS -o ${NAME} ${NAME}.c
strip --strip-all ${NAME}
exit
$ ulimit -s 65535
$ ./solid-matrix 
N=500 (125000000 mults) t1=0.400 t2=0.380 d=-0.020 2.58598E+12 2.58598E+12

Ключевыми параметрами «писькомерки» является t1/t2 - время вычисления произведения двух матриц.

pacify ★★★★★
()

хотел было переписать под другой язычок но это ж Си мля. С таким кодированием даже разбираться не хочется.

500 500 250000 0.72000 0.66000 -0.06000 4.1375749E+01 4.1375749E+01

real 0m1.408s user 0m1.384s sys 0m0.024s

1. gcc 4.4.5 2. Linux linux 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:34:50 UTC 2010 i686 GNU/Linux 3. AMD Athlon(tm) 64 X2 Dual Core Processor 4400+ / 2GB RAM

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

>OPTS="-march=native -O7 -ffast-math -fstrength-reduce"

Умри! Тут вообще многое от опций компилятора зависеть будет.

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

Пямять Kingmax DDR3 1333 MHz (9-9-9-24)

хотел было переписать под другой язычок но это ж Си мля. С таким

кодированием даже разбираться не хочется.



Просто перемножение двух матриц сделай. Любых. Размером N порядка 500-1000.

pacify ★★★★★
()

real 0m1.336s
user 0m1.324s

Intel(R) Core(TM)2 Duo CPU E7400 @ 2.80GHz

2.6.28-11-generic #42-Ubuntu SMP
gcc version 4.3.3
MemTotal: 2052332 kB

dima3351
()
Ответ на: комментарий от mikhalich

> доктор, я совсем плох?

ага, не особо хороший результат (см. таблицу)
0.88000 секунды для умножения double-матрицы 500x500 на другую матрицу 500x500.

а что из этого время?

0.89000

pacify ★★★★★
()

ok

Core2 Duo (Penryn) 3 Ghz:

egcs-1.1.2 -O3 -ffast-math -fomit-frame-pointer -march=pentiumpro matrix.c -o matrix ; time ./matrix ; rm -f matrix
N=500 (125000000 mults) t1=0.540 t2=0.750 d=0.210 2.58598E+12 2.58598E+12
real 0m1.308s
user 0m1.302s
sys 0m0.006s

gcc-2.95.4 -O3 -ffast-math -fomit-frame-pointer -march=pentiumpro matrix.c -o matrix ; time ./matrix ; rm -f matrix
N=500 (125000000 mults) t1=0.470 t2=0.490 d=0.020 2.58598E+12 2.58598E+12
real 0m0.972s
user 0m0.964s
sys 0m0.007s

gcc 3.3.6 -O3 -ffast-math -fomit-frame-pointer -march=nocona matrix.c -o matrix ; time ./matrix ; rm -f matrix
N=500 (125000000 mults) t1=0.470 t2=0.700 d=0.230 2.58598E+12 2.58598E+12
real 0m1.184s
user 0m1.175s
sys 0m0.008s

gcc 3.4.6 -O3 -ffast-math -fomit-frame-pointer -march=nocona matrix.c -o matrix ; time ./matrix ; rm -f matrix
N=500 (125000000 mults) t1=0.470 t2=0.490 d=0.020 2.58598E+12 2.58598E+12
real 0m0.968s
user 0m0.962s
sys 0m0.005s

gcc 4.1.2-27 redhat -O3 -ffast-math -fomit-frame-pointer -march=core2 -mfpmath=sse -mssse3 matrix.c -o matrix ; time ./matrix ; rm -f matrix
N=500 (125000000 mults) t1=0.460 t2=0.490 d=0.030 2.58598E+12 2.58598E+12
real 0m0.973s
user 0m0.965s
sys 0m0.007s

gcc 4.2.4 ubuntu -O3 -ffast-math -fomit-frame-pointer -march=nocona -mfpmath=sse -msse3 matrix.c -o matrix ; time ./matrix ; rm -f matrix
N=500 (125000000 mults) t1=0.470 t2=0.470 d=0.000 2.58598E+12 2.58598E+12
real 0m0.957s
user 0m0.952s
sys 0m0.004s

gcc 4.3.5 -O3 -ffast-math -fomit-frame-pointer -march=core2 -mfpmath=sse -mssse3 matrix.c -o matrix ; time ./matrix ; rm -f matrix
N=500 (125000000 mults) t1=0.460 t2=0.510 d=0.050 2.58598E+12 2.58598E+12
real 0m0.981s
user 0m0.976s
sys 0m0.006s

gcc 4.4.5 gentoo -O3 -ffast-math -fomit-frame-pointer -march=core2 -mfpmath=sse -msse4.1 matrix.c -o matrix ; time ./matrix ; rm -f matrix
N=500 (125000000 mults) t1=0.480 t2=0.500 d=0.020 2.58598E+12 2.58598E+12
real 0m0.992s
user 0m0.984s
sys 0m0.008s

gcc 4.5.2 -O3 -ffast-math -fomit-frame-pointer -march=core2 -mfpmath=sse -msse4.1 matrix.c -o matrix ; time ./matrix ; rm -f matrix
N=500 (125000000 mults) t1=0.480 t2=0.500 d=0.020 2.58598E+12 2.58598E+12
real 0m0.992s
user 0m0.984s
sys 0m0.008s

gcc 4.6.0 -O3 -ffast-math -fomit-frame-pointer -march=core2 -mfpmath=sse -msse4.1 matrix.c -o matrix ; time ./matrix ; rm -f matrix
N=500 (125000000 mults) t1=0.470 t2=0.570 d=0.100 2.58598E+12 2.58598E+12
real 0m1.052s
user 0m1.047s
sys 0m0.005s

clang 2.8 -O3
N=500 (125000000 mults) t1=0.460 t2=0.510 d=0.050 2.58598E+12 2.58598E+12
real 0m0.982s
user 0m0.975s
sys 0m0.007s

icc9.1 -xT -O3 -ipo -fomit-frame-pointer matrix.c -o matrix ; time ./matrix ; rm -f matrix
N=500 (125000000 mults) t1=0.470 t2=0.480 d=0.010 2.58598E+12 2.58598E+12
real 0m0.965s
user 0m0.958s
sys 0m0.006s

icc10.1
N=500 (125000000 mults) t1=0.470 t2=0.490 d=0.020 2.58598E+12 2.58598E+12
real 0m0.983s
user 0m0.980s
sys 0m0.002s

icc11.1
N=500 (125000000 mults) t1=0.460 t2=0.470 d=0.010 2.58598E+12 2.58598E+12
real 0m0.945s
user 0m0.938s
sys 0m0.008s

icc12.0
N=500 (125000000 mults) t1=0.450 t2=0.470 d=0.020 2.58598E+12 2.58598E+12
real 0m0.932s
user 0m0.923s
sys 0m0.008s

Sylvia ★★★★★
()

N=500 (125000000 mults) t1=0.470 t2=0.480 d=0.010 2.58598E+12 2.58598E+12

real 0m0.967s

user 0m0.959s

sys 0m0.006s

Intel(R) Core(TM)2 Duo CPU E8500 @ 3.16GHz GenuineIntel

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

Intel Atom 270/330 1.6 Ghz:
N=500 (125000000 mults) t1=5.240 t2=5.250 d=0.010 2.58598E+12 2.58598E+12
real 0m10.524s
user 0m10.503s
sys 0m0.019s

Celeron M (m390) 1.7:

N=500 (125000000 mults) t1=1.210 t2=1.140 d=-0.070 2.58598E+12 2.58598E+12
real 0m2.514s
user 0m2.365s
sys 0m0.027s

Sylvia ★★★★★
()
[ megabaks@desktop ] ~/scripts/lor $ time ./solid-linux.org.ru
500 500 250000 0.57000 0.61000 0.04000 4.1375749E+01 4.1375749E+01

real 0m1.197s
user 0m1.182s
sys 0m0.009s
[ megabaks@desktop ] ~/scripts/lor $

E7200(разогнан до 3.18)
2x2GB какая-то патриотовская 800MHz 5-5-5-12 2.2V (6400)
gcc-4.5.2

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

он слабенький на математике
это icc 12

с gcc (4.4) и fpu387 вот так будет -
N=500 (125000000 mults) t1=5.350 t2=5.330 d=-0.020 2.58598E+12 2.58598E+12
real 0m10.721s
user 0m10.701s
sys 0m0.018s

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

Да у Вас там целый испытательный полигон.
В Intel Corporation работаете?

pacify ★★★★★
()

Чувствую себя ущербным.

drull@drull:src$ time ./solid-linux.org.ru 
    500    500 250000     5.49000     5.44000    -0.05000  4.1375749E+01  4.1375749E+01

real	0m11.184s
user	0m10.945s
sys	0m0.044s
drull@drull:src$ cat /proc/cpuinfo | grep model\ name
model name	: Intel(R) Atom(TM) CPU N270   @ 1.60GHz
model name	: Intel(R) Atom(TM) CPU N270   @ 1.60GHz
drull@drull:src$ free
             total       used       free     shared    buffers     cached
Mem:       1012540     819904     192636          0      51620     408772
-/+ buffers/cache:     359512     653028
Swap:      2971988          0    2971988
drull@drull:src$ gcc --version
gcc-4.5.real (Ubuntu/Linaro 4.5.2-8ubuntu1) 4.5.2

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

И где же? Не, ну на то чтобы серфить в инете, писать быдлокод и коннектиться к более мощным машинкам мне вполне хватает.

drull ★☆☆☆
()

500 500 250000 0.71000 0.75000 0.04000 4.1375749E+01 4.1375749E+01

проц E6550, 4Gb memory

gescheit
()
time ./solid-linux.org.ru 
N=500 (125000000 mults) t1=8.020 t2=7.700 d=-0.320 2.58598E+12 2.58598E+12

real    0m15.921s
user    0m15.775s
sys     0m0.070s

CPU motorola 7455 867MHz DDR SDRAM PC2100

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

Вроде атомы можно использовать без пропеллера (с пассивным охлаждением)?
Тогда собрать из него бесшумную машинку, и поставить в качестве роутера/десктопа.

pacify ★★★★★
()

rain@dbs8664:~$ time ./solid-linux.org.ru
500 500 250000 0.57000 0.58000 0.01000 4.1375749E+01 4.1375749E+01

real 0m1.178s
user 0m1.164s
sys 0m0.012s


Athlon II X4 630/4x2.8 GHz; DDR2 800 MHz

Debian Squeeze x86_64

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

у меня без кулера, сам процессор
кулер стоит на северном мосту 945, но больше всего слышно винчестеры и вентилятор в БП... так что отсутствие кулера на процессоре еще не означает полной бесшумности...

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

> больше всего слышно винчестеры и вентилятор в БП

При этом потреблении вполне можно обойтись блоком питания с пассивным охлаждением.

YAR ★★★★★
()

500 500 250000 0.48000 0.47000 -0.01000 4.1375749E+01 4.1375749E+01

model name   : AMD Athlon(tm) II X2 250 Processor
Current Speed: 3293 MHz

RAM: 2xDDR3 1333MHz.

gcc (Gentoo 4.5.2 p1.1, pie-0.4.5) 4.5.2

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

>-fstrength-reduce
Мда.
N=500 (125000000 mults) t1=0.390 t2=0.380 d=-0.010 2.58598E+12 2.58598E+12

x3al ★★★★★
()

devl547@localhost ~/temp $ time ./solid-matrix
N=500 (125000000 mults) t1=0.430 t2=0.420 d=-0.010 2.58598E+12 2.58598E+12

real   0m0.870s
user   0m0.859s
sys   0m0.007s

devl547 ★★★★★
()

>#define M 500

#define N 500

#define FXX double



#define DEFM1(A) FXX A[M*N]


RAM type/speed,


Fail

sS ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.