eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › jak napisać szybki program
Ilość wypowiedzi w tym wątku: 106

  • 51. Data: 2009-05-18 16:21:15
    Temat: Re: jak napisa? szybki program
    Od: A.L. <a...@a...com>

    On Mon, 18 May 2009 18:15:57 +0200, Pawe? Kierski <n...@p...net>
    wrote:

    >A.L. wrote:
    >> On Sun, 17 May 2009 12:19:56 +0200, Jacek Czerwinski <...@...z.pl> wrote:
    >>
    >>> I) nie optymalizować.
    >>
    >> Nieprawda. Optymalizowac:
    >>
    >> a. Gdy program dziala za wolno
    >>
    >> b. Posluzyc sie regula "20% kodu konsumuje 80% czasu wykonania".
    >> Znalezc te 20% i zoptymalizowac.
    >>
    >> c. Go to a.
    >
    > Domyślam się, że to, co przedpiśca chciał powiedzieć, zawiera się
    >w "a", tylko przy odwróceniu warunku: "Jeśli program nie działa za wolno
    >- nie optymalizować".

    Byc moze. Tym nieniej, stwierdzenie: "nie optymalzowac jak nie
    potzreba" jest gleboko sluszne :)

    A.L.


  • 52. Data: 2009-05-18 16:28:34
    Temat: Re: jak napisać szybki program
    Od: "Mateusz Loskot" <m...@l...net>

    "A.L." <a...@a...com> wrote in message
    news:tlu215d3jfgq75kn250tqtb37d3mlko246@4ax.com...
    > On Mon, 18 May 2009 14:59:48 +0100, "Mateusz Loskot"
    > <m...@l...net> wrote:
    >
    >>"A.L." <a...@a...com> wrote in message
    >>news:7fp215hi0ri3dg0joavei9c38r9si7kn6b@4ax.com...
    >>> On Mon, 18 May 2009 14:24:50 +0100, "Mateusz Loskot"
    >>> <m...@l...net> wrote:
    >>>
    >>>>"bartekLTG" <b...@o...ciach.pl> wrote in message
    >>>>news:gurkis$5d7$1@news.onet.pl...
    >>>>> Maciej Pilichowski wrote:
    >>>>>> aby zawsze pisac ++var zamiast
    >>>>>> var++ (o ile merytorycznie nie zachodzi koniecznosc tego drugiego),
    >>>>>
    >>>>> Im dluzej o tym mysle, tym bardziej nie rozumiem, o co Ci mogło
    >>>>> chodzic;-)
    >>>>
    >>>>O uniknięcie tworzenia tymczasowego obiektu, jest to szczególnie istotne
    >>>>przy
    >>>>optymalziacji użycia iteratorów.
    >>>>
    >>>
    >>> Jakiego obiektu?...
    >>
    >>
    >>Tymczasowego, o takim samym typie jak 'var', utworzonego i zwróconego
    >>przez operator post-inkrementacji.
    >>
    >
    > Wszystko co Kolega pisze jest gleboko sluszne, jezeli zostanie
    > uzupelnione nastepujacym tekstem: "w przypadku gdy operator ++ jest
    > overlaoded, na ogol operacja prefiksowa jest bardziej efektywna od
    > postfiksowej. Nie ma to jednak znaczenai dla operacji ++ na typach
    > elementarnych"


    Wszystko co Kolega pisze jest gleboko sluszne, jednak moim zdaniem
    stosowanie notacji prefiksowej, zarówno w odniesieniu do
    typów użytkownika jak i typów wbudowany jest dobrym nawykiem.
    Oczywiście tam gdzie jest to poprawnie użyte dla danego algorytmu.

    Maciej nie sprecyzował typu dla 'var', więc uznałem to za ogólne
    zalecenie, kóre dotyczy również operatora inkrementacji dla typów innych
    niż wbudowane.

    Pozdrawiam
    --
    Mateusz Loskot, http://mateusz.loskot.net
    pl.comp.lang.c FAQ: http://pl.cpp.wikia.com/wiki/FAQ
    C++ FAQ: http://parashift.com/c++-faq-lite


  • 53. Data: 2009-05-18 16:56:54
    Temat: Re: jak napisać szybki program
    Od: A.L. <a...@a...com>

    On Mon, 18 May 2009 17:28:34 +0100, "Mateusz Loskot"
    <m...@l...net> wrote:

    >
    >
    >Wszystko co Kolega pisze jest gleboko sluszne, jednak moim zdaniem
    >stosowanie notacji prefiksowej, zarówno w odniesieniu do
    >typów użytkownika jak i typów wbudowany jest dobrym nawykiem.
    >Oczywiście tam gdzie jest to poprawnie użyte dla danego algorytmu.

    Pozwole sie nie zgodzic. Nie ma nic gorszego nie "dobre nawyki".
    Zwlaszcza nieuzasadnione


    >
    >Maciej nie sprecyzował typu dla 'var', więc uznałem to za ogólne
    >zalecenie, kóre dotyczy również operatora inkrementacji dla typów innych
    >niż wbudowane.

    Moja reakcja byla dokladnie odwrotna: poniewaz nie sprecyzowal typu
    dla 'var', mogl to byc wbudowany.

    Tak na matrginesie, jak ktos potzrebuje ladnej dyskusji nad ++ to
    polecam na pzyklad

    http://en.allexperts.com/q/C-1040/Increment-operator
    s.htm

    A.L.


  • 54. Data: 2009-05-18 17:15:31
    Temat: Re: jak napisać szybki program
    Od: "Mateusz Loskot" <m...@l...net>

    "A.L." <a...@a...com> wrote in message
    news:ti4315lppo0dg90vvabkugm4fgf1s93mhi@4ax.com...
    > On Mon, 18 May 2009 17:28:34 +0100, "Mateusz Loskot"
    > <m...@l...net> wrote:
    >
    >>
    >>
    >>Wszystko co Kolega pisze jest gleboko sluszne, jednak moim zdaniem
    >>stosowanie notacji prefiksowej, zarówno w odniesieniu do
    >>typów użytkownika jak i typów wbudowany jest dobrym nawykiem.
    >>Oczywiście tam gdzie jest to poprawnie użyte dla danego algorytmu.
    >
    > Pozwole sie nie zgodzic. Nie ma nic gorszego nie "dobre nawyki".

    IMHO, to jest uogólnienie.

    > Zwlaszcza nieuzasadnione

    Dana jest zmienna

    int var = 0;

    dalej użyta jako licznik w pętli.
    W celu ziększenia wartości var o 1 mamy kilka możliwości,
    rozpatrzmy dwie z nich: ++var lub var++.

    Którą wersję Kolega by wybrał i jak uzasadniłby wybór?

    Ja wybrałbym ++var ponieważ 1) przyzwyczajam się do pre-inkrementacji
    dla liczników/indeksów, a to automatyzuje wybób operatora przy zastosowaniu
    iteratorów oraz 2) w przypadku gdy zmienię typ zmiennej var z wbudowanego
    na własny, nie muszę wyszukiwać i zmieniać użycia operatorów, bo wiem
    iż konsekwentnie używałem pre-inkrementacji.

    Czy Kolegi zdaniem, nawyki opisane w 1 i 2 są dobre czy "dobre" ?
    Jeśli zdaniem Kolego są one "dobre", to proszę o wyjaśnienie dlaczego nie są
    dobre.

    >>Maciej nie sprecyzował typu dla 'var', więc uznałem to za ogólne
    >>zalecenie, kóre dotyczy również operatora inkrementacji dla typów innych
    >>niż wbudowane.
    >
    > Moja reakcja byla dokladnie odwrotna: poniewaz nie sprecyzowal typu
    > dla 'var', mogl to byc wbudowany.

    Zgoda, kwestia interpretacji. Dlatego dobrze zawsze wyjaśniac propozycje
    precyzyjnie.

    > Tak na matrginesie, jak ktos potzrebuje ladnej dyskusji nad ++ to
    > polecam na pzyklad
    >
    > http://en.allexperts.com/q/C-1040/Increment-operator
    s.htm

    Dzięki, zajrzę.

    Pozdrawiam
    --
    Mateusz Loskot, http://mateusz.loskot.net
    pl.comp.lang.c FAQ: http://pl.cpp.wikia.com/wiki/FAQ
    C++ FAQ: http://parashift.com/c++-faq-lite


  • 55. Data: 2009-05-18 17:35:29
    Temat: Re: jak napisać szybki program
    Od: A.L. <a...@a...com>

    On Mon, 18 May 2009 18:15:31 +0100, "Mateusz Loskot"
    <m...@l...net> wrote:

    >"A.L." <a...@a...com> wrote in message
    >news:ti4315lppo0dg90vvabkugm4fgf1s93mhi@4ax.com...
    >> On Mon, 18 May 2009 17:28:34 +0100, "Mateusz Loskot"
    >> <m...@l...net> wrote:
    >>
    >>>
    >>>
    >>>Wszystko co Kolega pisze jest gleboko sluszne, jednak moim zdaniem
    >>>stosowanie notacji prefiksowej, zarówno w odniesieniu do
    >>>typów użytkownika jak i typów wbudowany jest dobrym nawykiem.
    >>>Oczywiście tam gdzie jest to poprawnie użyte dla danego algorytmu.
    >>
    >> Pozwole sie nie zgodzic. Nie ma nic gorszego nie "dobre nawyki".
    >
    >IMHO, to jest uogólnienie.
    >
    >> Zwlaszcza nieuzasadnione
    >

    Dlatego nie lubie "nawykow" bo nawyki eliminuja myslenie, a czasem
    moga stanowiac zagrozenie dla zdrowia. Jeden moj znajomy mial nawyk
    jezedenia pzrez most i nie zauwazyl ze nawierzchnie mosy zdjeli do
    remontu. Gdyby myslal zamiast miec nawyki, to by sie nie utopil

    >Dana jest zmienna
    >
    >int var = 0;
    >
    >dalej użyta jako licznik w pętli.
    >W celu ziększenia wartości var o 1 mamy kilka możliwości,
    >rozpatrzmy dwie z nich: ++var lub var++.
    >
    >Którą wersję Kolega by wybrał i jak uzasadniłby wybór?
    >

    Nie da sie uzasadznic wyboru nie znajac kontekstu w ktorym ta operacja
    jest uzyta.

    >Ja wybrałbym ++var ponieważ 1) przyzwyczajam się do pre-inkrementacji
    >dla liczników/indeksów, a to automatyzuje wybób operatora przy zastosowaniu
    >iteratorów oraz 2) w przypadku gdy zmienię typ zmiennej var z wbudowanego
    >na własny, nie muszę wyszukiwać i zmieniać użycia operatorów, bo wiem
    >iż konsekwentnie używałem pre-inkrementacji.
    >
    >Czy Kolegi zdaniem, nawyki opisane w 1 i 2 są dobre czy "dobre" ?
    >Jeśli zdaniem Kolego są one "dobre", to proszę o wyjaśnienie dlaczego nie są
    >dobre.
    >

    kazdy nawyk jest dobry dopoki nei jest zatosowany w sytuacji w ktorej
    powinno sie uruchomic myslenie

    A.L.


  • 56. Data: 2009-05-18 19:11:41
    Temat: Re: jak napisać szybki program
    Od: Piotr Kulinski <p...@w...pl>

    Mon, 18 May 2009 18:15:31 +0100, na pl.comp.programming, Mateusz Loskot
    napisał(a):

    > "A.L." <a...@a...com> wrote in message
    > news:ti4315lppo0dg90vvabkugm4fgf1s93mhi@4ax.com...
    >> On Mon, 18 May 2009 17:28:34 +0100, "Mateusz Loskot"
    >> <m...@l...net> wrote:
    >>
    >>>
    >>>
    >>>Wszystko co Kolega pisze jest gleboko sluszne, jednak moim zdaniem
    >>>stosowanie notacji prefiksowej, zarówno w odniesieniu do
    >>>typów użytkownika jak i typów wbudowany jest dobrym nawykiem.
    >>>Oczywiście tam gdzie jest to poprawnie użyte dla danego algorytmu.
    >>
    >> Pozwole sie nie zgodzic. Nie ma nic gorszego nie "dobre nawyki".
    >
    > IMHO, to jest uogólnienie.
    >
    >> Zwlaszcza nieuzasadnione
    >
    > Dana jest zmienna
    >
    > int var = 0;
    >
    > dalej użyta jako licznik w pętli.
    > W celu ziększenia wartości var o 1 mamy kilka możliwości,
    > rozpatrzmy dwie z nich: ++var lub var++.
    >
    > Którą wersję Kolega by wybrał i jak uzasadniłby wybór?
    >
    > Ja wybrałbym ++var ponieważ 1) przyzwyczajam się do pre-inkrementacji
    > dla liczników/indeksów, a to automatyzuje wybób operatora przy zastosowaniu
    > iteratorów oraz 2) w przypadku gdy zmienię typ zmiennej var z wbudowanego
    > na własny, nie muszę wyszukiwać i zmieniać użycia operatorów, bo wiem
    > iż konsekwentnie używałem pre-inkrementacji.
    >
    czy przypadek 1 czy 2 to zależy od dalszego kontekstu programu

    bardzo dobry przykład, podałeś AL
    int var = 0;
    int i=0;

    /*1*/ i=var++; //i=0
    lub
    /*2*/ i=++var; //i=1

    ... więc wszystko zależy od dalszego kontekstu.


    --
    pozdrawiam, GG i SkyPe w X-nagłówku posta, e-mail: zmień wpw na wp
    piotr


  • 57. Data: 2009-05-18 19:34:46
    Temat: Re: jak napisaae szybki program
    Od: Boguś <n...@i...net>

    Dnia 18-05-2009 o 19:35:29 A.L. <a...@a...com> napisał(a):

    >>> Pozwole sie nie zgodzic. Nie ma nic gorszego nie "dobre nawyki".
    >>
    >> IMHO, to jest uogólnienie.
    >>
    >>> Zwlaszcza nieuzasadnione
    >>
    >
    > Dlatego nie lubie "nawykow" bo nawyki eliminuja myslenie, a czasem
    > moga stanowiac zagrozenie dla zdrowia. Jeden moj znajomy mial nawyk
    > jezedenia pzrez most i nie zauwazyl ze nawierzchnie mosy zdjeli do
    > remontu. Gdyby myslal zamiast miec nawyki, to by sie nie utopil

    Gdyby nie miał pan nawyków, to by się panu płat czołowy od myślenia
    przepalił. A pana znajomy widocznie nie umiał balasnować między nawykami a
    myśleniem, więc jak najbardziej prawidłowo wyeliminował się z ewolucji.

    > kazdy nawyk jest dobry dopoki nei jest zatosowany w sytuacji w ktorej
    > powinno sie uruchomic myslenie

    Właśnie.

    --
    Boguś


  • 58. Data: 2009-05-18 19:47:14
    Temat: Re: jak napisać szybki program
    Od: "jelen" <j...@n...rykowisku>


    Użytkownik "A.L." <a...@a...com> napisał w wiadomości
    news:1f63155hoq26am5o4ls42d28s5bveolmt8@4ax.com...
    > On Mon, 18 May 2009 18:15:31 +0100, "Mateusz Loskot"
    ..
    > kazdy nawyk jest dobry dopoki nei jest zatosowany w sytuacji w ktorej
    > powinno sie uruchomic myslenie

    ciekawe czy autor tej "mundrości" stoje ją do siebie samego kiedy
    pisze np.:

    >>tylko pisze "to jest belkot"
    >>Taki mam zwyczaj

    i wysyła ludzi do KF, do googla lub bezcermonialnie i bez
    dyskusji/wjaśnień klasyfikuje ( jak to sieć neuronowa :-) )
    kogoś lub coś jako "bełkot" lub jeszcze dobitniej ..



  • 59. Data: 2009-05-18 20:44:55
    Temat: Re: jak napisać szybki program
    Od: Maciej Sobczak <s...@g...com>

    On 18 Maj, 13:47, Jędrzej Dudkiewicz <j...@g...com>
    wrote:
    > Maciej Sobczak wrote:

    > > Nadal chciałbym wiedzieć dlaczego.
    >
    > Ponieważ dane są pobierane równolegle z wykonaniem programu.

    Pod warunkiem, że program ma coś do zrobienia co nie wymaga czekania
    na te dane.
    Czyli mówimy *w ogólności* o wykorzystaniu *współbieżności* w celu
    lepszego wykorzystania zasobów.

    Wszystko się zgadza, ale współbieżność jest znacznie szerszym pojęciem
    od asynchronicznego I/O - w szczególności go nie wymaga.

    Porada miała dobre intencje, ale była źle wyrażona. Przyśpieszenie
    programu nie bierze się z asynchronicznego I/O, tylko z właściwego
    posłużenia się współbieżnością. Różnica pojęciowa jest ogromna, bo
    sama naiwna zamiana "zwykłego" I/O na asynchroniczne kompletnie nic
    nie daje, jeśli nie przygotuje się całego programu pod tą okoliczność.

    Już lepiej zmienić HDD na SDD - i to by była najprostsza porada w
    temacie szybkości I/O. ;-)

    --
    Maciej Sobczak * www.msobczak.com * www.inspirel.com


  • 60. Data: 2009-05-18 20:50:12
    Temat: Re: jak napisać szybki program
    Od: A.L. <a...@a...com>

    On Mon, 18 May 2009 21:47:14 +0200, "jelen" <j...@n...rykowisku>
    wrote:

    >
    >U?ytkownik "A.L." <a...@a...com> napisa? w wiadomo?ci
    >news:1f63155hoq26am5o4ls42d28s5bveolmt8@4ax.com...
    >> On Mon, 18 May 2009 18:15:31 +0100, "Mateusz Loskot"
    >..
    >> kazdy nawyk jest dobry dopoki nei jest zatosowany w sytuacji w ktorej
    >> powinno sie uruchomic myslenie
    >
    >ciekawe czy autor tej "mundro?ci" stoje j? do siebie samego kiedy
    >pisze np.:
    >
    >>>tylko pisze "to jest belkot"
    >>>Taki mam zwyczaj
    >
    >i wysy?a ludzi do KF, do googla lub bezcermonialnie i bez
    >dyskusji/wja?nie? klasyfikuje ( jak to sie? neuronowa :-) )
    >kogo? lub co? jako "be?kot" lub jeszcze dobitniej ..
    >

    Pierdacz sie

    A.L.

strony : 1 ... 5 . [ 6 ] . 7 ... 11


Szukaj w grupach

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: