eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingNowoczesne procesory - jak to z nimi jest?Re: Nowoczesne procesory - jak to z nimi jest?
  • X-Received: by 10.49.72.194 with SMTP id f2mr52046qev.34.1364202445427; Mon, 25 Mar
    2013 02:07:25 -0700 (PDT)
    X-Received: by 10.49.72.194 with SMTP id f2mr52046qev.34.1364202445427; Mon, 25 Mar
    2013 02:07:25 -0700 (PDT)
    Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!goblin2!goblin.stu.neva.ru!cyclone01.ams2.highwinds-media.com!voer-me.
    highwinds-media.com!npeer01.iad.highwinds-media.com!news.highwinds-media.com!fe
    ed-me.highwinds-media.com!t2no15470743qal.0!news-out.google.com!k8ni11100qas.0!
    nntp.google.com!ca1no5990479qab.0!postnews.google.com!glegroupsg2000goo.googleg
    roups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Mon, 25 Mar 2013 02:07:25 -0700 (PDT)
    In-Reply-To: <3...@g...com>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=178.36.110.253;
    posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
    NNTP-Posting-Host: 178.36.110.253
    References: <5148d9db$0$26710$65785112@news.neostrada.pl>
    <4...@g...com>
    <1...@g...com>
    <kihto6$q3f$1@mx1.internetia.pl>
    <c...@g...com>
    <3...@g...com>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <a...@g...com>
    Subject: Re: Nowoczesne procesory - jak to z nimi jest?
    From: "M.M." <m...@g...com>
    Injection-Date: Mon, 25 Mar 2013 09:07:25 +0000
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    X-Received-Bytes: 5419
    Xref: news-archive.icm.edu.pl pl.comp.programming:202267
    [ ukryj nagłówki ]

    W dniu poniedziałek, 25 marca 2013 08:08:34 UTC+1 użytkownik firr kenobi napisał:
    > co do kompilatorow to tez moze byc wlasnie
    > tak ze intel icc optymalizuje lepiej niz gcc
    > i vcc, np w tym benchmarku
    > http://benchmarksgame.alioth.debian.org/u32/performa
    nce.php?test=mandelbrot
    > najszybszy okazal sie intelowy fortran i to
    > prawie dwa razy szybszy niz c w gcc :/
    No proszę. Tak podejrzewałem, ale nie wiedziałem.
    Teraz widać, różnice dwa razy to coś czego można
    się spodziewać.

    Pamiętam jak kiedyś dobierałem drobiazgi implementacyjne w
    programie szachowym na bardzo wczesnym etapie realizacji.
    Chodziło dosłownie o przesuwanie bierek po planszy i o
    update kilku pomocniczych statystyk przy okazji przesuwania.
    Kompilowałem gcc, wtedy jeszcze na platformę 32bitową. Od
    czasu do czasu zauważałem, że po jakiejś drobnej zmianie
    kompilator wygenerował kod 2-3 razy szybszy. Dosłownie 50
    różnych pomysłów, różnice w wydajności pomiędzy pomysłami
    o ułamki procenta, a czasami/nagle różnica o 200-300%. Taki
    kod skompilowany potem przy pomocy MSVC++ działał o wiele
    wolniej. To było tak, jakbym dobrał konstrukcje językowe,
    które kompilator gcc akurat umie zoptymalizować. Więc kilka
    przesłanek na to jest, że jakby sztab fachowców przysiadł, to
    by napisał kompilator 2-3 razy wydajniejszy.


    > - nie przypuszczam zeby fortran byl szybszy od c
    Nie zdziwiłbym się, jakby napisanie optymalizatora do
    frotrana/ady, było łatwiejsze niż do C/C++.

    > wiec wychodziloby ze roznica wynika z
    > optymalizacji kodu w asemblerze (icc vs gcc)
    No chyba tak, chyba potwierdzają się moje przypuszczenia.

    > jest to pewnego rodzaju hipoteza ale jak kogos to
    > interesuje to powinien pomierzyc lub conajmniej poczytac
    > jakies w miare aktualne porownania bo
    > pewnie sa jakies w necie (i moglby wpisac
    > wyniki na grupe)
    Liczyłem że ktoś bardzo doświadczony w asemblerze coś konkretnego
    powie w tym wątku, na razie wszyscy łącznie ze mną bazujemy na
    przypuszczeniach.

    Przed laty wyszła książka "procesory pentium, narzędzia optymalizacji"
    autorstwa Micheal L. Schmit. W którymś z rozdziałów pokazał ręcznie
    zoptymalizowaną procedurę w asemblerze, po czym dodał coś w rodzaju
    "nie sądzę aby jakikolwiek kompilator zdołał tak zoptymalizować". Myślę,
    że to stwierdzenie nadal w jakimś stopniu jest aktualnie, ciekawe tylko w
    jakim :)

    Odbiegając od tematu...
    Ostatnio napisałem w proceduralnym C++ prosty program optymalizacyjny.
    Prosty, bo kodu tam raptem 1000 linijek, z czego kod obliczeniowy to
    może 400 linii. Kod jest bardzo sprytnie zoptymalizowany, ale patrzę na
    niego, patrzę na podejrzane wyniki i się zastanawiam... czy tam na pewno
    nie ma błędu? No i właśnie dziś przepisuję w wysokopoziomowym C++,
    nafaszerowanym klasami i vectorami... co byłoby gdybym miał ten kod
    napisany w asemblerze? Pewnie bym po pierwszej procedurze miał dosyć i
    bym wrócić do wysokopoziomowego C++ albo do Javy :)

    Pozdrawiam





    >
    >
    >
    > mnie osobiscie jak na dzis bardziej interesuje
    >
    > poznanie rwguł optymalizacji kodu samemu niz
    >
    > posiadanie hiperoptymalizujacego kompilatora,
    >
    > oczywiscie wolalbym raczej by kompilator ktorego
    >
    > uzywam generowal na zadanie lepszego asma
    >
    > ale nawet bardziej interesuje mnie reczna
    >
    > optymalizacja - umiem optymalizowac kody w c
    >
    > choc chcialbym sie nauczyc robic to lepiej
    >
    > i troche umiem optymalizowac na poziomie asma
    >
    > (ale tutaj slabo - tez chcialbym sie nauczyc
    >
    > optymalizowac lepiej )

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: