-
Data: 2011-02-01 22:05:09
Temat: Re: które języki 'historyczne' s? ważne
Od: "R. P." <r...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- 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
Najnowsze wątki
- 2025-02-07 Jaki silikon lub może klej?
- 2025-02-07 Gdańsk => iOS Developer (Swift experience) <=
- 2025-02-07 Warszawa => Starszy Programista C <=
- 2025-02-07 Niby to nie sąd ale kooorwa tak to w sądach dziś wygląda?
- 2025-02-06 PROGRAM DOPŁAT DO AUT ELEKTRYCZNYCH TO ABSURD. ZA ŚRODKI Z KPO KUPIMY NIEMIECKIE I CHIŃSKIE AUTA
- 2025-02-05 ceny OC
- 2025-02-05 Re: ceny OC
- 2025-02-05 Re: ceny OC
- 2025-02-07 Smar do video
- 2025-02-06 Litowe baterie AA Li/FeS2 a alkaliczne
- 2025-02-07 Gliwice => Business Development Manager - Network and Network Security
- 2025-02-07 Warszawa => System Architect (Java background) <=
- 2025-02-07 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-02-07 Warszawa => Solution Architect (Java background) <=
- 2025-02-07 Gliwice => Ekspert IT (obszar systemów sieciowych) <=