eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingjak napisać szybki programRe: jak napisać szybki program
  • Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!new
    s.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!border2.nntp.
    dca.giganews.com!nntp.giganews.com!postnews.google.com!e20g2000vbc.googlegroups
    .com!not-for-mail
    From: Marteno Rodia <m...@o...pl>
    Newsgroups: pl.comp.programming
    Subject: Re: jak napisać szybki program
    Date: Wed, 20 May 2009 10:44:43 -0700 (PDT)
    Organization: http://groups.google.com
    Lines: 31
    Message-ID: <e...@e...googlegroups.com>
    References: <guooce$u1t$1@news.onet.pl> <gup1i8$rlj$1@mx1.internetia.pl>
    <gurkis$5d7$1@news.onet.pl> <gurnhq$4cg$1@inews.gazeta.pl>
    <7...@4...com>
    <gurpjl$dlg$1@inews.gazeta.pl>
    <t...@4...com>
    <gus2ah$mtr$1@inews.gazeta.pl>
    <t...@4...com>
    <gus529$5tm$1@inews.gazeta.pl>
    <1...@4...com>
    <op.ut44n8kmm9t1qg@blackstar>
    <o...@4...com>
    <6...@m...googlegroups.com>
    <gutv8k$kmh$1@inews.gazeta.pl>
    NNTP-Posting-Host: 82.177.234.188
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    X-Trace: posting.google.com 1242841483 31716 127.0.0.1 (20 May 2009 17:44:43 GMT)
    X-Complaints-To: g...@g...com
    NNTP-Posting-Date: Wed, 20 May 2009 17:44:43 +0000 (UTC)
    Complaints-To: g...@g...com
    Injection-Info: e20g2000vbc.googlegroups.com; posting-host=82.177.234.188;
    posting-account=DTt6_goAAAARwU0nzTySOYYanbvsZA9o
    User-Agent: G2/1.0
    X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.10)
    Gecko/2009042316 Firefox/3.0.10,gzip(gfe),gzip(gfe)
    Xref: news-archive.icm.edu.pl pl.comp.programming:182067
    [ ukryj nagłówki ]

    > > albo co jest szybsze: int array[10] czy int *array = new int[10].
    >
    > Pierwsze to alokacja na stosie, drugie na tzw. stercie (dynamic storage)
    > Ogólna zasada przy optymalizacji, to im mniej alokacji pamięci
    > tym lepiej. Alokacja to wolna operacja.

    Super. To teraz inne pytanie: jakie są (relatywnie szybkie w wykonaniu
    czy raczej wolne) operacje dostępu do bitów?

    Innymi słowy: potrzebuję przechować 100 trójek liczb całkowitych (a,
    b, c), ale niewielkich, np. na a i b wystarczy po 12 bitow, a na c - 8
    bitów. Te 3 liczby są jakoś semantycznie związane, więc warto, żeby
    były "w kupie". Co jest szybsze?

    a) używanie struktury
    struct Tripple { int a; int b; int c}
    olewając jednocześnie marnotrawstwo pamięci.

    b) używanie struktury j.w. ale z typami short

    c) używanie jednego integera do zapisu 3 liczb na różnych jego bitach
    (2*12+8=32), tak że:
    a = (liczby >>20) & 0xFF;
    b = (liczby >> 8) & 0xFF;
    c = liczby & 0xFF;

    Co byście proponowali?

    MR

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: