-
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.PO
STED!not-for-mail
From: Fil <f...@p...onet.pl>
Newsgroups: pl.comp.programming
Subject: Porównanie szybkości mnożenia macierzy w CPP i PASCAL
Date: Wed, 02 Feb 2011 17:47:44 +0100
Organization: http://onet.pl
Lines: 51
Message-ID: <iic1t4$umq$1@news.onet.pl>
NNTP-Posting-Host: 095160075158.kielce.vectranet.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: quoted-printable
X-Trace: news.onet.pl 1296665316 31450 95.160.75.158 (2 Feb 2011 16:48:36 GMT)
X-Complaints-To: n...@o...pl
NNTP-Posting-Date: Wed, 2 Feb 2011 16:48:36 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; pl; rv:1.9.2.13) Gecko/20101207
Thunderbird/3.1.7
Xref: news-archive.icm.edu.pl pl.comp.programming:188545
[ ukryj 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
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- 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
Najnowsze wątki
- 2025-01-04 Katowice => Key Account Manager (ERP) <=
- 2025-01-03 Problem z odczytem karty CF
- 2025-01-03 Jazda z Warszawy do Krakowa teslą
- 2025-01-03 Wrocław => Konsultant Wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-01-03 Warszawa => International Freight Forwarder <=
- 2025-01-03 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-01-03 Warszawa => Spedytor Międzynarodowy <=
- 2025-01-03 Beztłumikowcy
- 2025-01-03 Lublin => Delphi Programmer <=
- 2025-01-03 Lublin => Programista Delphi <=
- 2025-01-03 [OT] nowe osoby w grupach?
- 2025-01-03 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-03 Warszawa => Developer .NET (mid) <=
- 2025-01-03 Katowice => Administrator IT - Systemy Operacyjne i Wirtualizacja <=
- 2025-01-03 Warszawa => DevOps Engineer <=