Kezdőoldal » Számítástechnika » Programozás » Sok adat feldolgozására miért...

Sok adat feldolgozására miért jobb több szálon futó program írása? (részletek lent)

Figyelt kérdés

Egy nagyobb adathalmaz elemzésére letöltöttem egy célprogramot egy olyan csoport oldaláról, akik konkrétan ezzel foglalkoznak. (a kód Python nyelven íródott). A program azt csinálja, hogy letölti a netről az adatokat, és utána több lépésben feldolgozza letöltött fájlokat. A legtöbb fájlban a kód úgy lett megírva, hogy a multiprocessing.Process segítségével több szálon, párhuzamosan végzi egyszerre több fájl vizsgálatát. Több féle képpen próbálkoztam, de nekem úgy tűnik, hogy a saját gépemen futtatva úgy a leggyorsabb, ha csak 1 szálon indítom el a feldolgozást.


Amúgy is, ha jól tudom, a gép elvileg úgy csinálja a több szálas feladatvégzést, hogy a felosztja, hogy az idő egy részében az egyik, majd a másik feladatot csinálja. Akkor egyáltalán miért elképzelhető, hogy gyorsabb több szálon párhuzamosan végezni a munkát?


Esetleg meg tudnátok azt is mondani, hogy mi alapján lehet kitalálni egy adott gép esetében a szálak optimális számát?



#statisztika #adatok #Python #többszálas futás #párhuzamos munkavégzés
2018. febr. 14. 21:56
 1/5 anonim ***** válasza:
0%
Van egy nagy kupac fád. Át kell pakolni egyik helyről a másikra. Hogy lesz kész hamarabb, ha egyedül csinálod, vagy ha többen csináljátok egyszerre?
2018. febr. 14. 22:00
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:
Akkor lesz (lehet) gyorsabb, ha több magos processzorod van, de így se minden feladatnál. A fájlműveleteken például pont nem gyorsít, de ha már be van olvasva az adatod, akkor vannak műveletek, amiket esetleg lehet párhuzamosítani.
2018. febr. 14. 22:06
Hasznos számodra ez a válasz?
 3/5 anonim ***** válasza:
100%

"Amúgy is, ha jól tudom, a gép elvileg úgy csinálja a több szálas feladatvégzést, hogy a felosztja, hogy az idő egy részében az egyik, majd a másik feladatot csinálja."


Alapesetben a multitask valóban így működik, de ha több számítási egység (processzormag) van a rendszerben, akkor képes valódi párhuzamos számításokra.

Sok múlik a folyamatütemezőn is.


Egyébként a többszálú program képes lassabb lenni, mint az egyszálú. Ezt olvasd el: [link]

2018. febr. 14. 22:31
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:
46%
A netről letöltő programokat azért írják többszálasra, hogy amíg az egyik letöltésre várakozik, ne álljon sorba az összes többi feladata. Ha le akarsz tölteni adatokat 20 webhelyről, és ebből 3 lassú, akkor az jól betesz a soros programodnak.
2018. febr. 15. 08:30
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:

Más a multi threading és más a parallel processing.

Előző esetben 100 %, hogy lassabb lesz a feladat végrehajtás, mert a taszkváltás elég sok processzoridőt igényel. Mindez másodpercenként 100-szor ...

2018. febr. 15. 10:03
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!