-
Data: 2011-02-02 16:47:44
Temat: 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 ]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
Czasy mierzone z wykorzystaniem QueryPerformanceCounter... i wiem, że
procedurke w PASCALu można lepiej napisać, ale nie jestem fanem PASCALa
i nie sądzę, aby ten niezbyt ładnie napisany kod usprawiedliwiał TAKĄ
różnicę w czasach. Chyba, że problem tkwi w tablicach dynamicznych PASCALA?
Czy to oznacza, że Delphi nie nadaje się do obliczeń?
Pozdrawiam,
Fil.
Następne wpisy z tego wątku
- 02.02.11 16:53 Tomasz Kaczanowski
- 02.02.11 16:58 Fil
- 02.02.11 17:13 Fil
- 02.02.11 17:18 Norbert
- 02.02.11 18:00 Grzegorz Krukowski
- 02.02.11 18:14 Fil
- 02.02.11 18:14 Fil
- 02.02.11 18:20 Fil
- 02.02.11 18:40 Grzegorz Krukowski
- 02.02.11 19:05 Fil
- 02.02.11 19:15 Grzegorz Krukowski
- 02.02.11 19:30 Fil
- 02.02.11 19:51 Grzegorz Krukowski
- 02.02.11 19:55 Fil
- 02.02.11 19:56 Fil
Najnowsze wątki z tej grupy
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-07-01 W-wa naklejki wjazd do centrum
- 2024-07-01 ładowarka zmarła
- 2024-07-01 Koder szuka pracy. Koduję w j.: Asembler, C, C++ (z Qt) i D.
- 2024-07-01 Kraków => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-07-01 Białystok => Full Stack Web Developer (.Net Core, Angular6+) <=
- 2024-07-01 Berlin => Technical Rollouter (Radio Systems Software Installation and
- 2024-07-01 Warszawa => Key Account Manager <=
- 2024-07-01 Gdańsk => Programista Full Stack .Net <=
- 2024-07-01 Zabrze => Junior HelpDesk <=
- 2024-07-01 Warszawa => Key Account Manager <=
- 2024-07-01 Bielsko-Biała => Expert Migration Architect (Azure) <=
- 2024-07-01 Mini Netykieta polskich grup dyskusyjnych
- 2024-07-01 Re: Jak wypełnić polecenie francuskiego sądu blokowania niektórych zapytań DNS? Blokując Francję
- 2024-07-01 Re: Powtórne wezwanie na PO-komisję uzdrowi Ziobrę już w 10 dni
- 2024-07-01 CA -- problem z logowaniem