eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingBCB Moj ulubiony kod;)Re: BCB Moj ulubiony kod;)
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.glorb.com!p
    ostnews.google.com!f29g2000yqa.googlegroups.com!not-for-mail
    From: Mariusz Marszałkowski <m...@g...com>
    Newsgroups: pl.comp.programming
    Subject: Re: BCB Moj ulubiony kod;)
    Date: Fri, 19 Feb 2010 08:29:41 -0800 (PST)
    Organization: http://groups.google.com
    Lines: 61
    Message-ID: <7...@f...googlegroups.com>
    References: <hkneu1$1se$1@mx1.internetia.pl>
    <d...@1...googlegroups.com>
    <hkop6l$s9s$1@news.onet.pl> <hkoq0a$gni$1@news2.ipartners.pl>
    <hkq2et$gj7$1@mx1.internetia.pl> <hkqr8b$6st$1@news.onet.pl>
    <hkv1ds$91t$1@news.onet.pl> <hkvcct$f6m$1@news.onet.pl>
    <hl0d9e$120$1@inews.gazeta.pl> <hlj0op$tl5$1@news.onet.pl>
    NNTP-Posting-Host: 89.229.16.190
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    X-Trace: posting.google.com 1266596982 12058 127.0.0.1 (19 Feb 2010 16:29:42 GMT)
    X-Complaints-To: g...@g...com
    NNTP-Posting-Date: Fri, 19 Feb 2010 16:29:42 +0000 (UTC)
    Complaints-To: g...@g...com
    Injection-Info: f29g2000yqa.googlegroups.com; posting-host=89.229.16.190;
    posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
    User-Agent: G2/1.0
    X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.2; pl; rv:1.9.2)
    Gecko/20100115 Firefox/3.6,gzip(gfe),gzip(gfe)
    Xref: news-archive.icm.edu.pl pl.comp.programming:184922
    [ ukryj nagłówki ]

    On 18 Lut, 10:20, Qbab <b...@p...onet.pl> wrote:
    > W dniu 2010-02-11 08:57, Wojciech "Spook" Sura pisze:
    >
    > > Bastion wrote:
    > >> Kolego, ja tak nie pisze tylko przedstawiam rozwiazanie pewnego
    > >> problemu. Laskawie pochyl glowe i zastanow sie jak w 5 linijkach kodu
    > >> lepiej mozna zwizualizowac rozwiazanie. Czekam na kod...
    >
    > > Zacznijmy od tego, że nawet nie zabierałbym się do projektowania aplikacji
    > > myśląc panicznie, żeby zmieścić się w n linijkach. Płacisz podatek od każdej
    > > napisanej linii kodu? Jeśli radość sprawia Ci upychanie programu w
    > > niewielkiej przestrzeni, to raczej wyślij Twój pomysł na IOCCC niż chwal się
    > > na grupach.
    >
    > Pamiętam czasy gdy upychanie kodu wynikało z konieczności, czasem
    > upychało się dwie zmienne w jednym bajcie bo z góry wiedziało się ile
    > bitów zajmą maksymalnie. Ale tego nie zrozumie nikt kto nie startował w
    > czasach gdy komputery miały mniej niż 64 kilobajty pamięci :)

    Koniecznosc upychania danych w bity jest caly czas akualna. Oczywiscie
    tylko tam, gdzie wazna jest wydajnosc. Propoponuje zmierzenie czasu
    wykonania tego kodu dla roznych wielkosci S. Parametr N zostaje taki
    sam, wiec ilosc operacji nie ulega zmianie, zmianie ulega tylko
    rozmiar
    danych. Duze S oznacza dane nie upakowane, male S oznacza dane
    upakowane do malej tablicy.

    #define N (1<<30)
    #define S (1024)

    static double tab[S];

    void init() {
    for( int i=0 ; i<S ; i++ )
    tab[i] = rand() % 16 - rand() % 16;
    }

    double test( ) {
    double sum = 0;
    int x = 0;
    for( int i=0 ; i<N ; i++ ) {
    x = (x + rand()) % S;
    sum += tab[x];
    }
    return sum;
    }

    int main( int argc , char *argv[] ) {
    srand(time(NULL));
    init();
    printf("sum = %lf\ntime = %u\n",test(),(unsigned int)clock());
    return 0;
    }

    Pozdrawiam

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: