eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaPIC vs AVR › Re: PIC vs AVR
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
    .pl!news.nask.org.pl!news.internetia.pl!not-for-mail
    From: Sylwester Łazar <i...@a...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: PIC vs AVR
    Date: Mon, 7 Apr 2014 23:35:20 +0200
    Organization: Netia S.A.
    Lines: 42
    Message-ID: <lhv6h3$5kv$1@mx1.internetia.pl>
    References: <533ddbbb$0$2158$65785112@news.neostrada.pl> <lhpavu$914$1@dont-email.me>
    <lhpeqj$ct4$1@speranza.aioe.org> <lhpgfo$kjn$1@dont-email.me>
    <lhpluc$v7a$1@speranza.aioe.org> <lhpr39$4rf$1@dont-email.me>
    <lhq0sf$7gn$1@speranza.aioe.org> <lhrd9u$agv$1@dont-email.me>
    <lhrhae$j9a$1@speranza.aioe.org> <lhrk97$6kg$1@mx1.internetia.pl>
    <lhs0th$qtp$1@speranza.aioe.org> <lhs583$vhh$1@mx1.internetia.pl>
    <lhs5nm$1fo$1@mx1.internetia.pl> <lhubnd$amu$1@mx1.internetia.pl>
    <lhueie$klk$1@mx1.internetia.pl> <lhut4e$4dn$1@mx1.internetia.pl>
    <lhuvs6$f3a$1@mx1.internetia.pl> <lhv567$142$1@mx1.internetia.pl>
    NNTP-Posting-Host: 77-253-141-36.adsl.inetia.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset="utf-8"
    Content-Transfer-Encoding: 8bit
    X-Trace: mx1.internetia.pl 1396907363 5791 77.253.141.36 (7 Apr 2014 21:49:23 GMT)
    X-Complaints-To: a...@i...pl
    NNTP-Posting-Date: Mon, 7 Apr 2014 21:49:23 +0000 (UTC)
    X-Notice1: This post has been postprocessed on the news.internetia.pl server.
    X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2615.200
    X-Tech-Contact: u...@i...pl
    X-Newsreader: Microsoft Outlook Express 5.00.2615.200
    X-Priority: 3
    X-Server-Info: http://www.internetia.pl/
    X-MSMail-Priority: Normal
    X-Notice2: Subject line has been filtered and any Odp: strings removed.
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:662654
    [ ukryj nagłówki ]

    > Jakbyś nie kombinował z tego przykładu z AVR nie wykażesz, że po
    > kompilacji kod jest wielokrotnie mniej wydajny. Ani w ilości instrukcji
    > ani w czasie wykonywania.
    Po analizie głównej pętli sortującej widać, że:
    stosunek czasu wykonywania kodu w C do czasu wykonywania kodu w ASM
    będzie ok. 3x większy.

    W pierwszym poście zrobiłem błąd.
    Podałem:
    "2) Testów czasowych _nie robiłem_, ale główna pętla przepisywania rekordów
    ma w asm: 20 instrukcji,
    a w C po przekompilowaniu: 121 instrukcji.
    Wygląda na to, że w C program działa jakieś 6x wolniej."
    Przeprosiłem za to i skorygowałem.
    Chodziło o 121 bajtów,
    czyli instrukcji tam jest ok. 60.
    Czyli już masz Tc/Tasm = ~3x
    Tc/Tasm = 1,6 jest liczbą nierealną.

    Z moich doświadczeń wynika, że:
    czasowo ten stosunek wychodzi jeszcze gorzej.

    Ale to, aby było solidnie, należałoby zmierzyć dodając timer.
    i dlatego analiza czasowa NIE BYŁA PRZEPROWADZANA.

    Zobacz sobie na metodę qsort().
    Tam używa się rekurencji.
    Czyli jeżeli kompilator, (użyję Twojego języka i mojego)
    jest nieoptymalny/spartolił sprawę w głównej pętli,
    to rekurencji podlega także wykładniczo czas realizacji całości.

    I właśnie rekurencyjny qsort() masz zaimplementowany w bibliotece C30
    Microchipa w standardzie.

    Może znajdzie się ktoś, kto dokona ANALIZY czasowej, bo ja niestety nie mam
    czasu,
    a tylko ochotę :-)
    A potem powiesz, że zrobiłem to, aby się pochwalić.


    S.

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: