Re: Platforma NET Framework 1.1

Autor: Radosław Sokół <rsokol_at_magsoft.com.pl>
Data: Sun 30 May 2004 - 13:41:28 MET DST
Message-ID: <2004053011413000@grush.one.pl>
Content-Type: text/plain; charset=ISO-8859-2; format=flowed

Robert Winkler wrote:
> Klasy low-end nie oznacza "tak szybkie jak Pentium 200 MHz"
> tylko raczej "najwolniejsze w sprzedaży modele"

Ale wydajność oprogramowania może sprowadzić wydajność tych
niby szybkich komputerów do poziomu Pentium 200 MHz działają-
cego pod kontrolą Windows 95. A nie o to chodzi, by po wymia-
nie komputera chodził on nieznacznie szybciej od starej
maszyny.

> A jeśli chodzi o wydajnosć .NET'a to miło się ostatnio zaskoczyłem
> gdy porównywałem prędkość działania algorytmu obliczania
> wyznacznika macierzy zamplemetowanego
> w C++ z wykorzystaniem klasy vector z biblioetki STL
> do przechowywania wierszy macierzy
> i w C# z wykorzystaniem klasy System.Array

1. STL jest wooooolne. Lepiej napisać własny szablon tablicy
    o odpowiedniej wydajności -- wtedy porównanie pewnie byłoby
    inne już.

2. Porównaj obciążenie pamięci i duże sekwencyjnie wykonywane
    fragmenty kodu, a nie niewielkie pętle skutecznie optyma-
    lizowane przez JIT.

> Spodziewałem sie iż wersja w C# będzie o kilkadziesiąt procent wolniejsza od wersji w C++
> Zdziwiłem się jedak kiedy wersja w C# okazała sie dwukrotnie szybsza od wesji w C++
> pomimo zastowowania w C++ wszystkich oferowanych przez kompilator optymalizacji.

Pod względem obciążenia CPU rzeczywiście najnowsze wersje
kompilatorów JIT (CLR, JVM) są całkiem niezłe i osiągają
wydajność porównywalną ze statycznie skompilowanym kodem
korzystającym z szybkich bibliotek. Gorzej jest z obciążeniem
pamięci, a więc i poziomem swapowania przy jednoczesnym korzys-
taniu z wielu programów.

-- 
|""""""""""""""""""""""""""""""""""""""""""""""""""""""""""|
| Radosław Sokół  |  mailto:rsokol@magsoft.com.pl          |
|                 |  http://www.grush.one.pl/              |
\................... ftp://ftp.grush.one.pl/ ............../
Received on Sun May 30 13:45:18 2004

To archiwum zostało wygenerowane przez hypermail 2.1.8 : Sun 30 May 2004 - 14:42:04 MET DST