eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › dalsza optymalizacja
Ilość wypowiedzi w tym wątku: 55

  • 51. Data: 2012-04-02 18:51:12
    Temat: Re: dalsza optymalizacja
    Od: " M.M." <m...@N...gazeta.pl>

    Michoo <m...@v...pl> napisał(a):

    > On 02.04.2012 17:31, Michoo wrote:
    > > On 02.04.2012 17:11, M.M. wrote:
    > >> W wewnętrznej pętli zmienną oznaczyłem symbolem "j" i też
    > >> nie zatrzymuje się. Mój GCC ma znowu jakiegoś buga :(
    > > 4.6? Kompilowane z 02?
    > > Wygląda na to, że optymalizator doszedł do wniosku, że to pętla
    > > nieskończona....
    > I co ciekawe kod wynikowy jest zgodny ze standardem - występuje integer
    > overflow a ten jest niezdefiniowany. Co równie ciekawe zmiana t na
    > unsigned pomaga.

    Zmiana na float i double też pomaga.
    Pozdrawiam


    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 52. Data: 2012-04-02 19:25:58
    Temat: Re: dalsza optymalizacja
    Od: Edek Pienkowski <e...@g...com>

    Dnia Mon, 02 Apr 2012 16:51:12 +0000, M.M. napisal:

    > Michoo <m...@v...pl> napisał(a):
    >
    >> On 02.04.2012 17:31, Michoo wrote:
    >> > On 02.04.2012 17:11, M.M. wrote:
    >> >> W wewnętrznej pętli zmienną oznaczyłem symbolem "j" i też
    >> >> nie zatrzymuje się. Mój GCC ma znowu jakiegoś buga :(
    >> > 4.6? Kompilowane z 02?
    >> > Wygląda na to, że optymalizator doszedł do wniosku, że to pętla
    >> > nieskończona....
    >> I co ciekawe kod wynikowy jest zgodny ze standardem - występuje integer
    >> overflow a ten jest niezdefiniowany. Co równie ciekawe zmiana t na
    >> unsigned pomaga.
    >
    > Zmiana na float i double też pomaga.

    Pomaga też -fwrapv (signed overflow przechodzi na min, czyli ujemne)
    albo -fno-strict-overflow (wyłącza założenie, że overflow nie występuje).

    Edek



  • 53. Data: 2012-04-03 17:30:22
    Temat: Re: dalsza optymalizacja
    Od: bartekltg <b...@g...com>

    W dniu 2012-04-02 19:25, Edek Pienkowski pisze:
    > Dnia Mon, 02 Apr 2012 16:51:12 +0000, M.M. napisal:
    >
    >> Michoo<m...@v...pl> napisał(a):
    >>
    >>> On 02.04.2012 17:31, Michoo wrote:
    >>>> On 02.04.2012 17:11, M.M. wrote:
    >>>>> W wewnętrznej pętli zmienną oznaczyłem symbolem "j" i też
    >>>>> nie zatrzymuje się. Mój GCC ma znowu jakiegoś buga :(
    >>>> 4.6? Kompilowane z 02?
    >>>> Wygląda na to, że optymalizator doszedł do wniosku, że to pętla
    >>>> nieskończona....
    >>> I co ciekawe kod wynikowy jest zgodny ze standardem - występuje integer
    >>> overflow a ten jest niezdefiniowany. Co równie ciekawe zmiana t na
    >>> unsigned pomaga.
    >>
    >> Zmiana na float i double też pomaga.
    >
    > Pomaga też -fwrapv (signed overflow przechodzi na min, czyli ujemne)
    > albo -fno-strict-overflow (wyłącza założenie, że overflow nie występuje).


    Na O2 kompilator próbuje policzyć samemu ta pętlę (i patrząc
    w asm udaje mu się to dla unsigned i Twoich flag). Na int
    'nie wie' jak przepełniać i się gubi. OK. Ale dlaczego
    akurat wynikiem jest nieskończona pętla? Jeśli sobie nie
    radzi z optymalizacją nie powinien raczej zostawić kodu
    w spokoju i go nie optymalizować?

    pzdr
    bartekltg


  • 54. Data: 2012-04-04 16:13:36
    Temat: Re: dalsza optymalizacja
    Od: "M.M. " <m...@N...gazeta.pl>

    bartekltg <b...@g...com> napisał(a):

    > Na O2 kompilator próbuje policzyć samemu ta pętlę (i patrząc
    > w asm udaje mu się to dla unsigned i Twoich flag). Na int
    > 'nie wie' jak przepełniać i się gubi. OK. Ale dlaczego
    > akurat wynikiem jest nieskończona pętla? Jeśli sobie nie
    > radzi z optymalizacją nie powinien raczej zostawić kodu
    > w spokoju i go nie optymalizować?

    No właśnie nie wiem. Rozumiem żeby wpisał bzdury do zmiennej, bo
    może sobie sam wybrać sposób obsługi przepełnienia. Ale dlaczego
    się nie kończy to mnie zdumiewa.
    Pozdrawiam



    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 55. Data: 2012-04-04 17:01:23
    Temat: Re: dalsza optymalizacja
    Od: Michoo <m...@v...pl>

    On 04.04.2012 16:13, M.M. wrote:
    > bartekltg<b...@g...com> napisał(a):
    >
    >> Na O2 kompilator próbuje policzyć samemu ta pętlę (i patrząc
    >> w asm udaje mu się to dla unsigned i Twoich flag). Na int
    >> 'nie wie' jak przepełniać i się gubi. OK. Ale dlaczego
    >> akurat wynikiem jest nieskończona pętla? Jeśli sobie nie
    >> radzi z optymalizacją nie powinien raczej zostawić kodu
    >> w spokoju i go nie optymalizować?
    >
    > No właśnie nie wiem. Rozumiem żeby wpisał bzdury do zmiennej, bo
    > może sobie sam wybrać sposób obsługi przepełnienia. Ale dlaczego
    > się nie kończy to mnie zdumiewa.
    Bo pętla nieskończona to jedyna zgodna ze standardem sytuacja w której
    wyliczanie takiego wyrażenia zakończy się błędem. (A jak się powie
    kompilatorowi, że ma ignorować standard to generuje kod zgodny z
    oczekiwaniami.)

    --
    Pozdrawiam
    Michoo

strony : 1 ... 5 . [ 6 ]


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: