Programfordítások, optimalizáció

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

10 bejegyzés megtekintése - 101-110 / 127
  • Szerző
    Bejegyzés
  • #2118688
    pointux
    Felhasználó

      „Értem én.”
      Nem, nem érted. Bár ez egy dolog, de a betűk között sem tudsz különbséget tenni distcc – gcc… Ha ezt odalököd egy ufónak, az is világosan észlelni fogja, hogy különbözik.

      Mellesleg megnézted, hogy mi a „j” betűnek a funkciója?

      #2118689
      pointux
      Felhasználó

        „Értem én.”
        Nem, nem érted. Bár ez egy dolog, de a betűk között sem tudsz különbséget tenni distcc – gcc… Ha ezt odalököd egy ufónak, az is világosan észlelni fogja, hogy különbözik.

        Mellesleg megnézted, hogy mi a „j” betűnek a funkciója?

        #2118690
        gabaman
        Felhasználó

          „Gondolom, hogy a keletkező binárisban nem lesz különbség, csak a fordítási időben.”
          Aki ilyet ír, nem fogok vele  vitatkozni. Szép lenne, ha akár egy bit különbség is lenne.

          Ahogy én látom ez olyan divatprobléma. Egy másik témában is szó volt a több[processzoros|magos] rendszerekről, bár a vitának nem volt értelme (vagy helye). Itt is jobb lenne, ha mindenki ismerné a zárolás elvét, a processzek (szálak) állapotait, a kernel ütemező felépítését, a processzor gyorstár működését (főleg a koherenciát), stb. Akkor lehetne vitatkozni és beszélgetni. De így elég nehéz. Kérdések helyett többnyire hibás állítások és feltételezések vannak. De ha megpróbálnám cáfolni bármelyiket is, szembe találnám magam azzal a „ténnyel„, hogy a hivatkozott oldalak szerzői értik amit ott írtak, így már itt nem kell.

          #2118691
          gabaman
          Felhasználó

            „Gondolom, hogy a keletkező binárisban nem lesz különbség, csak a fordítási időben.”
            Aki ilyet ír, nem fogok vele  vitatkozni. Szép lenne, ha akár egy bit különbség is lenne.

            Ahogy én látom ez olyan divatprobléma. Egy másik témában is szó volt a több[processzoros|magos] rendszerekről, bár a vitának nem volt értelme (vagy helye). Itt is jobb lenne, ha mindenki ismerné a zárolás elvét, a processzek (szálak) állapotait, a kernel ütemező felépítését, a processzor gyorstár működését (főleg a koherenciát), stb. Akkor lehetne vitatkozni és beszélgetni. De így elég nehéz. Kérdések helyett többnyire hibás állítások és feltételezések vannak. De ha megpróbálnám cáfolni bármelyiket is, szembe találnám magam azzal a „ténnyel„, hogy a hivatkozott oldalak szerzői értik amit ott írtak, így már itt nem kell.

            #2118692
            uzsolt
            Felhasználó

              vizsla: túl nagy lett az arcod (és nem a debian-tól), nem gondolod? És ha lehet, ne magadból indulj ki! Attól, hogy TE nem nézted meg, mi is az a j, attól én még megnézhettem.

              distcc – amennyire megértettem, egyszerre több/másik gép fordít, és ez a distcc (szerver ill. kliens rész) valósítja meg, hogy hogyan, nem túlzottan érdekel (nincs lehetőségem kipróbálni). De a lényeg a második tagmondaton van, úgy érzem. Így már elhiszed, hogy értem és hogy a dist és a g betűcsoportokat meg bírom különböztetni?

              A man make idevágó része:

                    -j jobs
                          Specifies the number of jobs (commands) to run simultaneously.  If there is more than one -j option, the last one is effective.  If
                          the -j option is given without an argument, make will not limit the number of jobs that can run simultaneously.

              Ha jól értem és a betűket is meg tudom különböztetni (most csak azért se veszem igénybe a webforditas.hu-t), azt szabályozza, hogy egyszerre hány job fusson, tehát hány szálon (jó, ez lehet, hogy nem pontos kifejezés, nem szokásom programozni szálakat) fusson a dolog (jelen esetben egy adott progi fordítása).
              Tehát megnéztem, ne nézzél már nemtom minek! Tudom, hogy mire szolgál, de azt, hogy esetleg egy más érték lassítja vagy gyorsítja, nem tudom. Ezért KÉRDEZTEM. De legközelebb, ha kéred, minden egyes paraméter jelentését idemásolom, minden fogalom, amire azt mondom, hogy értem, itt definiálom, stb. Így meg fog felelni?
              Meg az is furcsa volt nekem, hogy szinte mindenhol kettest láttam, és azért nem hiszem, hogy mindenkinek két procija ketyegne a gépében. Ui. nekem első blikkre az lenne, hogy mivel egy procim van, akkor egy szál legyen. És mivel gabaman-nak igaza van, és az általa írtakkal nemigen vagyok tisztában (sőt, szinte egyáltalán nem), ezért KÉRDEZTEM. Esetleg ha valamelyőtök néhány szóban/mondatban vázolná, hogy milyen oka lehet, hogy a j=2 esetén (talán) gyorsabb a fordítás, akkor annak akár meg is köszönném.

              Ha a hivatkozott „tényekre” mutogatnék, akkor nem KÉRDEZNÉM, hanem annak hinnék. Kiváncsi vagyok a(z ilyen téren) nagyobb tudásúak tapasztalataira és véleményére. Vitatkozni nemigen fogok tudni, legfeljebb csak mutogatnék az oldalakra, és esetleg a nagyobbak véleményét elolvasom és ha esetleg valami kérdés merül fel, akkor megKÉRDEM. Esetleg ha valaki azt mondja, hogy az egyprocis celeron gépemre a -j legyen mondjuk 4000, azt azért megkérdezném, hogy miért, mivel az nagyon elüt az olvasottaktól.
              A duál-procot is ezért idéztem ide: lényegében két proci (de ezt is biztosan rosszul tudom, már előre látom), és mégis -j=3.

              „Gondolom, hogy a keletkező binárisban nem lesz különbség, csak a fordítási időben.”
              Aki ilyet ír, nem fogok vele  vitatkozni. Szép lenne, ha akár egy bit különbség is lenne.

              Most ezzel mi volt a baj? Nem helyes a feltételezésem? A válaszodból pedig arra következtettem, hogy igen. Vagy a „gondolom” a baj? Vagy írjam azt is ide, miért csak „gondolom”? Azért mert nem bírtam hirtelen olyan okot elképzelni, ami miatt ne így lenne. Az pedig, hogy én mit tudok elképzelni, és mi az, ami létezik is, nem biztos, hogy megegyezik.

              #2118693
              uzsolt
              Felhasználó

                vizsla: túl nagy lett az arcod (és nem a debian-tól), nem gondolod? És ha lehet, ne magadból indulj ki! Attól, hogy TE nem nézted meg, mi is az a j, attól én még megnézhettem.

                distcc – amennyire megértettem, egyszerre több/másik gép fordít, és ez a distcc (szerver ill. kliens rész) valósítja meg, hogy hogyan, nem túlzottan érdekel (nincs lehetőségem kipróbálni). De a lényeg a második tagmondaton van, úgy érzem. Így már elhiszed, hogy értem és hogy a dist és a g betűcsoportokat meg bírom különböztetni?

                A man make idevágó része:

                      -j jobs
                            Specifies the number of jobs (commands) to run simultaneously.  If there is more than one -j option, the last one is effective.  If
                            the -j option is given without an argument, make will not limit the number of jobs that can run simultaneously.

                Ha jól értem és a betűket is meg tudom különböztetni (most csak azért se veszem igénybe a webforditas.hu-t), azt szabályozza, hogy egyszerre hány job fusson, tehát hány szálon (jó, ez lehet, hogy nem pontos kifejezés, nem szokásom programozni szálakat) fusson a dolog (jelen esetben egy adott progi fordítása).
                Tehát megnéztem, ne nézzél már nemtom minek! Tudom, hogy mire szolgál, de azt, hogy esetleg egy más érték lassítja vagy gyorsítja, nem tudom. Ezért KÉRDEZTEM. De legközelebb, ha kéred, minden egyes paraméter jelentését idemásolom, minden fogalom, amire azt mondom, hogy értem, itt definiálom, stb. Így meg fog felelni?
                Meg az is furcsa volt nekem, hogy szinte mindenhol kettest láttam, és azért nem hiszem, hogy mindenkinek két procija ketyegne a gépében. Ui. nekem első blikkre az lenne, hogy mivel egy procim van, akkor egy szál legyen. És mivel gabaman-nak igaza van, és az általa írtakkal nemigen vagyok tisztában (sőt, szinte egyáltalán nem), ezért KÉRDEZTEM. Esetleg ha valamelyőtök néhány szóban/mondatban vázolná, hogy milyen oka lehet, hogy a j=2 esetén (talán) gyorsabb a fordítás, akkor annak akár meg is köszönném.

                Ha a hivatkozott „tényekre” mutogatnék, akkor nem KÉRDEZNÉM, hanem annak hinnék. Kiváncsi vagyok a(z ilyen téren) nagyobb tudásúak tapasztalataira és véleményére. Vitatkozni nemigen fogok tudni, legfeljebb csak mutogatnék az oldalakra, és esetleg a nagyobbak véleményét elolvasom és ha esetleg valami kérdés merül fel, akkor megKÉRDEM. Esetleg ha valaki azt mondja, hogy az egyprocis celeron gépemre a -j legyen mondjuk 4000, azt azért megkérdezném, hogy miért, mivel az nagyon elüt az olvasottaktól.
                A duál-procot is ezért idéztem ide: lényegében két proci (de ezt is biztosan rosszul tudom, már előre látom), és mégis -j=3.

                „Gondolom, hogy a keletkező binárisban nem lesz különbség, csak a fordítási időben.”
                Aki ilyet ír, nem fogok vele  vitatkozni. Szép lenne, ha akár egy bit különbség is lenne.

                Most ezzel mi volt a baj? Nem helyes a feltételezésem? A válaszodból pedig arra következtettem, hogy igen. Vagy a „gondolom” a baj? Vagy írjam azt is ide, miért csak „gondolom”? Azért mert nem bírtam hirtelen olyan okot elképzelni, ami miatt ne így lenne. Az pedig, hogy én mit tudok elképzelni, és mi az, ami létezik is, nem biztos, hogy megegyezik.

                #2118694
                pointux
                Felhasználó

                  Ha abból indulsz ki, amit ott írnak, hogy
                  cpu+1, akkor
                  1 cpu esetén 1+1=2
                  2 cpu/mag esetén 2+1=3

                  2 gép (1 cpu) esetén 2*(1+1)=2*cpu(2)=4 (kivéve, ha több cpu van egy gépben)
                  Ez, úgy nagyjából összhangban is van… (De ettől még bárki odaírhatja, hogy írjál oda nyócezret, de nyílván nem lesz értelme nyócezer processzt indítani 1 cpu-n…)

                  #2118695
                  pointux
                  Felhasználó

                    Ha abból indulsz ki, amit ott írnak, hogy
                    cpu+1, akkor
                    1 cpu esetén 1+1=2
                    2 cpu/mag esetén 2+1=3

                    2 gép (1 cpu) esetén 2*(1+1)=2*cpu(2)=4 (kivéve, ha több cpu van egy gépben)
                    Ez, úgy nagyjából összhangban is van… (De ettől még bárki odaírhatja, hogy írjál oda nyócezret, de nyílván nem lesz értelme nyócezer processzt indítani 1 cpu-n…)

                    #2118696
                    uzsolt
                    Felhasználó

                      Na, akkor majd egy nagyobb (=hosszabb fordítási idejű) progin kipróbálom, és stopperolom (inkább egy time parancsot ráeresztek), hogy tényleg gyorsabb-e.
                      Csak az piszkálja még egy kicsit(?) a fantáziám, hogy miért jobb több szálon futtatni, de majd akkor ennek utánakeresgélek… Gondolom, itt a gabaman által szóvátett hiányosságaimat kellene egy kicsit tömködnöm.

                      Na, találtam linkeket, hamár LFS-t használok, akkor a disztróm honlapján szétnéztem:
                      http://www.linuxfromscratch.org/hints/downloads/files/parallelcompiling.txt

                      On single-processor computer, the compiler instances will be automatically
                      scheduled on the processor. This gains speed because a single instance rarely
                      use all ressources, the rest can be used by another one.

                      Ha jól értem, akkor leegyszerűsítve azért lehet gyorsabb, mert nem csak a processzort használjuk, hanem más erőforrásokat is, és fordításkor leginkább a proci erőforrásai a leghamarabb elfogyóak, a többi erőforrás meg többet is bírna.

                      #2118697
                      uzsolt
                      Felhasználó

                        Na, akkor majd egy nagyobb (=hosszabb fordítási idejű) progin kipróbálom, és stopperolom (inkább egy time parancsot ráeresztek), hogy tényleg gyorsabb-e.
                        Csak az piszkálja még egy kicsit(?) a fantáziám, hogy miért jobb több szálon futtatni, de majd akkor ennek utánakeresgélek… Gondolom, itt a gabaman által szóvátett hiányosságaimat kellene egy kicsit tömködnöm.

                        Na, találtam linkeket, hamár LFS-t használok, akkor a disztróm honlapján szétnéztem:
                        http://www.linuxfromscratch.org/hints/downloads/files/parallelcompiling.txt

                        On single-processor computer, the compiler instances will be automatically
                        scheduled on the processor. This gains speed because a single instance rarely
                        use all ressources, the rest can be used by another one.

                        Ha jól értem, akkor leegyszerűsítve azért lehet gyorsabb, mert nem csak a processzort használjuk, hanem más erőforrásokat is, és fordításkor leginkább a proci erőforrásai a leghamarabb elfogyóak, a többi erőforrás meg többet is bírna.

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