-
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
- Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- Prezydent SZAP/USONA Trump ułaskawił prezydenta Hondurasu Hernandeza skazanego na 45 lat więzienia
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
Najnowsze wątki
- 2026-01-14 Do Kongresu SZAP/USONA Złożono Proj. ,,Ustawy o aneksji i statusie stanowym Grenlandii"
- 2026-01-13 STREFA CZYSTEGO TRANSPORTU. O tym nie mówią nam WŁADZE
- 2026-01-13 To nie koniec
- 2026-01-13 Warszawa => Recruiter 360 <=
- 2026-01-13 Katowice => Key Account Manager <=
- 2026-01-13 Warszawa => Senior Backend Java Developer <=
- 2026-01-13 Wrocław => ERP Implementation Consultant <=
- 2026-01-13 Elektryk a otwieranie drzwi :-)
- 2026-01-12 Schemat automatyki
- 2026-01-12 Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- 2026-01-12 Polska Grupa Zbrojeniowa (85% udziałów) Likwiduje Stomil-Poznań - Zakład Działał Od 1928r.
- 2026-01-12 Teoretyczne zagadnienie - ogrzewanie budynku
- 2026-01-12 Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- 2026-01-12 Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- 2026-01-12 Polska Grupa Zbrojeniowa (85% udziałów) Likwiduje Stomil-Poznań - Zakład Działał Od 1928r.




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]