eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingPorównanie szybkości mnożenia macierzy w CPP i PASCALRe: Porównanie szybkości mnożenia macierzy w CPP i PASCAL
  • Data: 2011-02-02 20:57:16
    Temat: Re: Porównanie szybkości mnożenia macierzy w CPP i PASCAL
    Od: Mariusz Marszałkowski <m...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On 2 Lut, 17:47, Fil <f...@p...onet.pl> wrote:
    > Witam!
    >
    > Są dwie procedury:
    > CPP:
    > void MulTab(int N, int Q, int M, double** A, double** B, double** C)
    > {
    >   for (int i = 0; i < N; ++i)
    >     for (int j = 0; j < M; ++j) {
    >       C[i][j] = 0;
    >       for (int k = 0; k < Q; ++k) C[i][j] += A[i][k] * B[k][j];
    >     }
    >   }
    >
    > oraz PASCAL:
    > TMatrix = array of array of double;
    >
    > procedure MulMatrix(N, Q, M:integer; T1, T2:TMatrix; var T3:TMatrix);
    > var
    >   i, j, k:integer;
    > begin
    >   for i := 0 to N-1 do
    >    for j := 0 to M-1 do begin
    >      T3[i, j] := 0;
    >      for k := 0 to Q-1 do T3[i, j] := T3[i, j] + T1[i, k] * T2[k, j];
    >    end;
    > end;
    >
    > Kompiluję obie w BCB Builder 2010 i Delphi 2010 (odpowiednio) w trybie
    > "release" z włączonymi optymalizacjami i odpalam.
    > Dla rozmiarów N = 2000 i M = 300 mam takie czasy:
    > CPP time = 4,5s
    > PAS time = 8,2s

    To jest raczej przypadkowy wynik, nie przejmowalbym sie takim
    jednym pomiarem. Napisz 10 procedur, skompiluj roznymi
    kompilatorami, uruchom kazda na 3-4 komputerach i wtedy
    mozna pokusic sie o jakies wnioski.
    Pozdrawiam



Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: