Programfordítások, optimalizáció

Kezdőlap Fórumok Vegyes felvágott Programfordítások, optimalizáció

10 bejegyzés megtekintése - 51-60 / 127
  • Szerző
    Bejegyzés
  • #2118638
    uzsolt
    Felhasználó
      mmp wrote:
      „mintha”
      optimalizálás során minden olyan optimalizálási eljárást kihagy, ami a méret növekedéséhez vezetne. Ezért lesz lassabb, mert azokat is kihagyja amivel a kód gyorsabban – az adott processzor tulajdonságait kihasználva – végez.

      Attól függ. Én akkor is fenntartom azon véleményemet, hogy egy Os lehet gyorsabb. És ez szerintem nem csak a procitól függ, hanem a rendszeredtől, valamint a progitól IS!
      Az lehet, hogy az O2 általában gyorsabb (és általában nagyobb) kódot eredményez, mint mondjuk az Os, de vannak kivételek!

      Kicsit extrém példa, de azok a legjobbak: vannak egy-két floppis disztrók. Tehát floppiról boot-olsz. Namármost itt nem mindegy, hogy 300k-t vagy 500k-t kell beolvasnod.
      És ezért nem teljesen helytálló vizsla állítása, hogy csak egyszer indítod el monjduk a gimp-et és utána fontos a gyorsaság. Ui. ha pl. csak arra használod, mint én (képet nyitok meg, kivágok, vágólap, stb., tehát semmi „komolyabb”), akkor az O2 és az Os közötti sebességkülönbséget nem érzékeled pl. a gépemen (cel2ghz). Tehát nekem az a fontos, hogy gyorsan betöltődjön (persze aki mittomén mit csinál vele, annak lehet, hogy a másik rész a fontos).

      /Hangsúlyozom, ez csak egy példa, és nyilván a többség a „komolyabb” dolgokra használja./

      #2118639
      uzsolt
      Felhasználó
        mmp wrote:
        „mintha”
        optimalizálás során minden olyan optimalizálási eljárást kihagy, ami a méret növekedéséhez vezetne. Ezért lesz lassabb, mert azokat is kihagyja amivel a kód gyorsabban – az adott processzor tulajdonságait kihasználva – végez.

        Attól függ. Én akkor is fenntartom azon véleményemet, hogy egy Os lehet gyorsabb. És ez szerintem nem csak a procitól függ, hanem a rendszeredtől, valamint a progitól IS!
        Az lehet, hogy az O2 általában gyorsabb (és általában nagyobb) kódot eredményez, mint mondjuk az Os, de vannak kivételek!

        Kicsit extrém példa, de azok a legjobbak: vannak egy-két floppis disztrók. Tehát floppiról boot-olsz. Namármost itt nem mindegy, hogy 300k-t vagy 500k-t kell beolvasnod.
        És ezért nem teljesen helytálló vizsla állítása, hogy csak egyszer indítod el monjduk a gimp-et és utána fontos a gyorsaság. Ui. ha pl. csak arra használod, mint én (képet nyitok meg, kivágok, vágólap, stb., tehát semmi „komolyabb”), akkor az O2 és az Os közötti sebességkülönbséget nem érzékeled pl. a gépemen (cel2ghz). Tehát nekem az a fontos, hogy gyorsan betöltődjön (persze aki mittomén mit csinál vele, annak lehet, hogy a másik rész a fontos).

        /Hangsúlyozom, ez csak egy példa, és nyilván a többség a „komolyabb” dolgokra használja./

        #2118640
        xcut
        Felhasználó

          Nekem is 2GHz-es cerka van az egyik gépben, ami tuti, hogy pentium4 march.

          Most összezavarodtam. -Os vs -O2? És ha a Gabaman által írt optimalizációt bekapcsolom, akkor is kimarad az -Os miatt?
          Tehát, most ilyen:
          CFLAGS=”-Os -march=prescott -fomit-frame-pointer -pipe”
          Ha ilyen lesz, akkor az -ftree-vect-loop-version érvényesül?
          CFLAGS=”-Os -march=prescott -fomit-frame-pointer -ftree-vect-loop-version -pipe”
          illetve GCC man-t nézegetve érdemes lenne hozzáadni az -frename-registers opciót is. Vélemények?

          Illetve olvastam egy másik módszerről. Nem -O-t használnak, hanem valami kombinációt, ami gyorsabb, mint bármelyik -O. Hallott erről valaki valamit?

          #2118641
          xcut
          Felhasználó

            Nekem is 2GHz-es cerka van az egyik gépben, ami tuti, hogy pentium4 march.

            Most összezavarodtam. -Os vs -O2? És ha a Gabaman által írt optimalizációt bekapcsolom, akkor is kimarad az -Os miatt?
            Tehát, most ilyen:
            CFLAGS=”-Os -march=prescott -fomit-frame-pointer -pipe”
            Ha ilyen lesz, akkor az -ftree-vect-loop-version érvényesül?
            CFLAGS=”-Os -march=prescott -fomit-frame-pointer -ftree-vect-loop-version -pipe”
            illetve GCC man-t nézegetve érdemes lenne hozzáadni az -frename-registers opciót is. Vélemények?

            Illetve olvastam egy másik módszerről. Nem -O-t használnak, hanem valami kombinációt, ami gyorsabb, mint bármelyik -O. Hallott erről valaki valamit?

            #2118642
            pointux
            Felhasználó

              „Kicsit extrém példa…”
              Valóban az, csak nem kicsit. Már csak azért is, mert ilyen mérvű kód méret változást nem lehet elérni.

              „Ui. ha pl. csak arra használod, mint én (képet nyitok meg, kivágok, vágólap, stb., tehát semmi „komolyabb”), akkor az O2 és az Os közötti sebességkülönbséget nem érzékeled”
              Más kérdés, hogy te mit érzékelsz, más kérdés, hogy mi hoz %-ban nagyobb eredményt.
              Az -os a megspórolt 10 bytejával valóban eltörpül a megabyte-os képek mellett, viszont egy -o2/o3 100, vagy 95 órajel ciklus különbsége (ilyen semmi komoly műveleteknél), már számottevő… noha te sz égvilágon semmit nem fogsz észrevenni belőle.

              #2118643
              pointux
              Felhasználó

                „Kicsit extrém példa…”
                Valóban az, csak nem kicsit. Már csak azért is, mert ilyen mérvű kód méret változást nem lehet elérni.

                „Ui. ha pl. csak arra használod, mint én (képet nyitok meg, kivágok, vágólap, stb., tehát semmi „komolyabb”), akkor az O2 és az Os közötti sebességkülönbséget nem érzékeled”
                Más kérdés, hogy te mit érzékelsz, más kérdés, hogy mi hoz %-ban nagyobb eredményt.
                Az -os a megspórolt 10 bytejával valóban eltörpül a megabyte-os képek mellett, viszont egy -o2/o3 100, vagy 95 órajel ciklus különbsége (ilyen semmi komoly műveleteknél), már számottevő… noha te sz égvilágon semmit nem fogsz észrevenni belőle.

                #2118644
                pointux
                Felhasználó

                  „az -ftree-vect-loop-version érvényesül?”
                  Nem.

                  Sőt a kód méretének csökkentése valószínűleg letiltja az előre betöltéseket (talán ki lehet kényszeríteni, de akkor hova a méret optimalizáció), amely viszont lassítani fogja a kódot.

                  #2118645
                  pointux
                  Felhasználó

                    „az -ftree-vect-loop-version érvényesül?”
                    Nem.

                    Sőt a kód méretének csökkentése valószínűleg letiltja az előre betöltéseket (talán ki lehet kényszeríteni, de akkor hova a méret optimalizáció), amely viszont lassítani fogja a kódot.

                    #2118646
                    mmp
                    Felhasználó

                      Uzsolt: akkor forgasd így: -march=pentium4 -pipe -Os -fomit-frame-pointer
                      O2-ből ezeket kihagyva lesz Os: -falign-functions  -falign-jumps  -falign-loops -falign-labels  -freorder-blocks -fprefetch-loop-arrays

                      #2118647
                      mmp
                      Felhasználó

                        Uzsolt: akkor forgasd így: -march=pentium4 -pipe -Os -fomit-frame-pointer
                        O2-ből ezeket kihagyva lesz Os: -falign-functions  -falign-jumps  -falign-loops -falign-labels  -freorder-blocks -fprefetch-loop-arrays

                      10 bejegyzés megtekintése - 51-60 / 127
                      • Be kell jelentkezni a hozzászóláshoz.