-
Data: 2011-02-02 19:55:00
Temat: Re: Porównanie szybkości mnożenia macierzy w CPP i PASCAL
Od: Fil <f...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Jeszcze raz - ostatni test i podsumowanie:
PASCAL wariant 1 kompilator DELPHI: 8,2s
PASCAL wariant 2 kompilator DELPHI: 5,2s
CPP wariant 1 kompilator BUILDER: 4,5s
CPP wariant 2 kompilator BUILDER: 4,0s
CPP wariant 1 kompilator VISUAL: 1,4s
CPP wariant 2 kompilator VISUAL: 1,2s
I tyle w temacie :)
PS. Użyłem Visuala 2010 Ultimate.
Tablice źródłowe 2000 wierszy i 300 kolumn.
Tablica wynikowa 2000 wierszy i kolumn
Poniżej wklejam jeszcze raz procedury:
PASCAL wariant 1:
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;
PASCAL wariant 2:
TA=array[0..1999,0..299] of double;
TB=array[0..299,0..1999] of double;
TC=array[0..1999,0..1999] of double;
procedure MulMatrix2(N, Q, M:integer; var T1:TA; var T2:TB; var T3:TC);
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;
CPP wariant 1:
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];
}
}
CPP wariant 2:
void MulTab2(int N, int Q, int M, double** A, double** B, double** C)
{
int _M, _Q;
double R;
double** Ai;
double** Bj;
double* Aik;
double* Bjk;
double* Cij;
while (N--) {
Ai = A++;
Bj = B;
Cij = *C++;
_M = M;
while (_M--) {
Aik = *Ai;
Bjk = *Bj++;
R = 0;
_Q = Q;
while (_Q--) R += *Aik++ * *Bjk++;
*Cij++ = R;
}
}
}
Pozdrawiam,
Fil.
Następne wpisy z tego wątku
- 02.02.11 19:56 Fil
- 02.02.11 20:03 Grzegorz Krukowski
- 02.02.11 20:50 Fil
- 02.02.11 20:57 Mariusz Marszałkowski
- 02.02.11 20:58 Grzegorz Krukowski
- 02.02.11 21:00 Mariusz Marszałkowski
- 02.02.11 21:40 Fil
- 02.02.11 21:44 Mariusz Marszałkowski
- 02.02.11 22:08 Fil
- 02.02.11 22:09 Wojciech Muła
- 02.02.11 22:38 Fil
- 02.02.11 22:56 Fil
- 02.02.11 23:00 Wojciech Muła
- 03.02.11 02:37 Mariusz Marszałkowski
- 03.02.11 08:13 Tomasz Kaczanowski
Najnowsze wątki z tej grupy
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
Najnowsze wątki
- 2025-09-24 Rzeszów => International Freight Forwarder <=
- 2025-09-24 Gdańsk => Delphi Programmer <=
- 2025-09-24 Warszawa => BI Developer / Analityk BI <=
- 2025-09-24 Alior zmiana logowania
- 2025-09-24 Warszawa => Senior Microsoft Dynamics 365 Business Central Consultant
- 2025-09-24 Andżelika Borys odwiedziła [WIELKIEGO PATRIOTĘ - przyp. JMJ] Andrzeja Poczobuta w [białoruskiej - przyp. JMJ] kolonii karnej
- 2025-09-24 W USA budują pierwszą komercyjną elektrownię fuzji jądrowej
- 2025-09-24 W USA budują pierwszą komercyjną elektrownię fuzji jądrowej
- 2025-09-24 W USA budują pierwszą komercyjną elektrownię fuzji jądrowej
- 2025-09-24 W USA budują pierwszą komercyjną elektrownię fuzji jądrowej
- 2025-09-23 Re: Kolory już są
- 2025-09-23 paragony grozy
- 2025-09-23 Znalazłem pieniądze przed bankiem - Absurdalny monolog o absurdalnym pytaniu. YES:)odc.909
- 2025-09-23 wymiana danych między urzędami
- 2025-09-23 Pozywanie za zniesławienie wpisem na X/Twitterze: Jaka jurysdykcja i jakie wyłączenia spod jurysdykcji?