-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.prz.edu.pl!news.nask.pl!news.nask.
org.pl!news.unit0.net!feeder2.cambriumusenet.nl!feed.tweaknews.nl!209.197.12.24
6.MISMATCH!nx02.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt
-exc-02.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POST
ED!not-for-mail
Date: Tue, 01 Feb 2011 23:05:09 +0100
From: "R. P." <r...@w...pl>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; pl; rv:1.9.2.13) Gecko/20101207
Thunderbird/3.1.7
MIME-Version: 1.0
Newsgroups: pl.comp.programming
Subject: Re: które języki 'historyczne' s? ważne
References: <2...@n...onet.pl>
<f...@t...askar.com.pl>
<4d470681$0$2436$65785112@news.neostrada.pl>
<r...@4...com>
<4d47519c$0$2437$65785112@news.neostrada.pl> <ii8g1j$768$1@news.onet.pl>
<4d47d675$0$2447$65785112@news.neostrada.pl>
<p...@4...com>
<4d481b77$0$2484$65785112@news.neostrada.pl> <ii999j$mnd$2@solani.org>
<4d48298a$0$2460$65785112@news.neostrada.pl> <ii9a4u$mnd$7@solani.org>
<4d482d5b$0$2457$65785112@news.neostrada.pl> <ii9el8$ga7$1@news.onet.pl>
<4d485140$0$2457$65785112@news.neostrada.pl> <ii9vpr$3lq$1@news.onet.pl>
In-Reply-To: <ii9vpr$3lq$1@news.onet.pl>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 47
Message-ID: <4d4883a0$0$2454$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 83.6.167.226
X-Trace: 1296597920 unt-rea-a-01.news.neostrada.pl 2454 83.6.167.226:57437
X-Complaints-To: a...@n...neostrada.pl
Xref: news-archive.icm.edu.pl pl.comp.programming:188506
[ ukryj nagłówki ]W dniu 2011-02-01 23:00, Jędrzej Dudkiewicz pisze:
> On 02/01/2011 07:30 PM, R. P. wrote:
>> W dniu 2011-02-01 18:07, Michoo pisze:
>>> W dniu 01.02.2011 16:57, R. P. pisze:
>>>>
>>>> Taka np. klasa string w C++ na pewno właściwą strukturą nie jest, bo to
>>>> samo napisane w interpretowanym awk (ten sam algorytm przetwarzania
>>>> tekstu) potrafi zadziałać 3x szybciej... Podobnie wiele innych klas w
>>>> std jest w c++ spapranych.
>>> Konkret - co takiego było 3 razy szybsze w AWK?
>>
>> Pewien algorytm obrabiający tekstowy plik CSV, zawierający milion
>> rekordów, każdy po 30 pól. Nic wielkiego, ale do testów wystarczy.
>> Algorytm był ten sam, na awk przepisałem go dosłownie tak samo.
>> Złożoność algorytmu była O(n). W awk wykonał się 3x szybciej.
>
> Awk jest specjalizowanym narzędziem do przetwarzania tekstu, nic
> dziwnego, że będzie działał szybciej niż napisany naprędce program w
> C++. Fakt, że jest interpretowany, specjalnie nie przeszkadza, bo część
> międląca napisy to kod cyzelowany pewnie od późnych lat
> siedemdziesiątych. XIX wieku. W sensie - od dawna.
Jasne, ale zaznaczam, że to był ten sam algorytm (dość trywialny
O(n))... w C++ pomimo zastosowania resize'ów i używania referencji gdzie
się da nie udało mi się uzyskać takiej wydajności jak w naprędce
napisanym programie w awk, od którego nie jestem żadnym specjalistą i
znam go co nieco tylko!
>>>> Chociażby stream'y też są wydajnościowo
>>>> skopane i w C zawsze wychodzi szybciej.
>>> Ale mierzyłeś, tak? Czy na jakiej podstawie tak twierdzisz? (I w
>>> porównaniu do czego?).
>>>
>>
>> Tak mierzyłem. Miałem zestaw funkcji wczytujący pliki do pamięci (pliki
>> 2-3 Gb) - stream okazał się 3x wolniejszy od chamskiego C-owego fgets'a.
>> To są fakty.
>
> Bo stream może zrobić 3 razy więcej od chamskiego C-owego fgets. Poza
> tym fgets czyta do stałego bufora. W świetle tego trzykrotna różnica nie
> jest taka powalająca.
Może zrobić 3x więcej. Ale jeśli mnie interesuje tylko wczytanie pliku
linia po linii do wektora, to wolę użyć fgets. 3x szybciej to nie jest
duża różnica? Tzn. że task skończy się 3x szybciej, a trwa kilka dni (bo
plików jest setki tysięcy)... jak dla mnie różnica kolosalna. W obu
przypadkach algorytm jest ten sam więc czasy asymptotyczne identyczne.
Następne wpisy z tego wątku
- 01.02.11 22:24 Wojciech Jaczewski
- 01.02.11 22:29 R. P.
- 01.02.11 22:30 Wojciech Jaczewski
- 01.02.11 22:32 Wojciech Jaczewski
- 01.02.11 22:45 Jędrzej Dudkiewicz
- 01.02.11 23:31 Andrzej Jarzabek
- 02.02.11 00:06 Andrzej Jarzabek
- 02.02.11 01:01 Jędrzej Dudkiewicz
- 02.02.11 01:25 Michoo
- 02.02.11 02:22 Michoo
- 02.02.11 02:23 Michoo
- 02.02.11 06:30 Adam Przybyla
- 02.02.11 06:32 Grzegorz Krukowski
- 02.02.11 07:46 Andrzej Jarzabek
- 02.02.11 08:04 Tomasz Kaczanowski
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
- 2024-12-31 Szukam: czujnik ruchu z możliwością zaączenia na stałe
- 2024-12-31 Warszawa => Solution Architect (Java background) <=
- 2024-12-31 Warszawa => Starszy Konsultant AWS <=
- 2024-12-31 Warszawa => International Freight Forwarder <=
- 2024-12-31 Odpowiedzialność w spółce z oo
- 2024-12-31 Warszawa => Spedytor Międzynarodowy <=
- 2024-12-31 Błonie => Analityk Systemów Informatycznych (TMS SPEED) <=
- 2024-12-31 Warszawa => Specjalista ds. bezpieczeństwa informacji i ciągłości
- 2024-12-31 8%
- 2024-12-31 Błonie => Administrator systemów <=
- 2024-12-31 Błonie => IT System Administrator <=
- 2024-12-31 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2024-12-31 Wrocław => Specjalista ds. Sprzedaży (transport drogowy) <=
- 2024-12-31 Warszawa => Helpdesk - I linia wsparcia <=
- 2024-12-31 kabelek - kynar ?