eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingktóre języki 'historyczne' są ważneRe: które języki 'historyczne' s? ważne
  • Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.PO
    STED!not-for-mail
    From: Jędrzej Dudkiewicz <j...@n...com>
    Newsgroups: pl.comp.programming
    Subject: Re: które języki 'historyczne' s? ważne
    Date: Tue, 01 Feb 2011 23:45:29 +0100
    Organization: http://onet.pl
    Lines: 41
    Message-ID: <iia2eb$d1n$1@news.onet.pl>
    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>
    <4d4883a0$0$2454$65785112@news.neostrada.pl>
    NNTP-Posting-Host: 234-dzi-16.acn.waw.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: news.onet.pl 1296600331 13367 82.210.159.234 (1 Feb 2011 22:45:31 GMT)
    X-Complaints-To: n...@o...pl
    NNTP-Posting-Date: Tue, 1 Feb 2011 22:45:31 +0000 (UTC)
    User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101209
    Fedora/3.1.7-0.35.b3pre.fc14 Thunderbird/3.1.7
    In-Reply-To: <4d4883a0$0$2454$65785112@news.neostrada.pl>
    Xref: news-archive.icm.edu.pl pl.comp.programming:188511
    [ ukryj nagłówki ]

    On 02/01/2011 11:05 PM, R. P. wrote:
    > W dniu 2011-02-01 23:00, Jędrzej Dudkiewicz pisze:
    >> 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!

    Skoro algorytm był trywialny, to znaczy, że znaczenie miało tylko
    wycyzelowanie kodu go wykonującego. Gdyby cyzelowanie oznaczało tylko
    referencje i resize, to programowanie byłoby proste.

    >>> 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.

    No to po co używasz streamów? Jak chcesz znaleźć pierwsze wystąpienie
    litery 'a' w stringu to używasz wyrażeń regularnych?

    > 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)...

    Ale przecież ja mówiłem o osiągach w porównaniu z możliwościami. To Twój
    problem, że ich nie używasz.

    JD

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: