-
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
- 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
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
Najnowsze wątki
- 2025-07-23 Gdańsk => Programista Delphi <=
- 2025-07-23 Gdańsk => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-23 Warszawa => Starszy inżynier DevOps (AWS) <=
- 2025-07-23 Gdańsk => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-23 Kraków => Senior Fullstack Engineer (Low-Code Platform) <=
- 2025-07-23 Wrocław => Senior Key Account Manager IT <=
- 2025-07-23 Trójmiasto => Head of Social Media <=
- 2025-07-23 Rzeszów => Spedytor Międzynarodowy <=
- 2025-07-23 Lublin => ERP Implementation Consultant (AP Module) <=
- 2025-07-23 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-07-23 Warszawa => Inżynier oprogramowania .Net <=
- 2025-07-23 Kraków => Kotlin Developer <=
- 2025-07-23 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-07-23 Warszawa => Java Developer <=
- 2025-07-23 Wrocław => Konsultant wdrożeniowy (systemy controlingowe) <=