- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- iPhone topik
- Samsung Galaxy S23 Ultra - non plus ultra
- Google Pixel topik
- Honor 200 Pro - mobilportré
- Óriáskészülék, kis akksival
- One mobilszolgáltatások
- Milyen okostelefont vegyek?
- Megjött a jubileumi Pixel széria
- Párizsi ősz, új Huawei órák
Új hozzászólás Aktív témák
-
Jester01
veterán
válasz
#25954560 #248 üzenetére
Több magot akkor fog kihasználni, ha több szálon fut. Ahhoz meg az kell, hogy a feladatot lebontsd párhuzamosan végezhető műveletekre, lehetőleg hasonló számításigénnyel. Mindezt ideális esetben tetszőleges számú szálra, például az adatmennyiség n részre osztásával. Általában ehhez szükséges valami extra művelet, ami a részműveletek eredményéből összerakja a végeredményt. Például ha az a feladat, hogy készíts fényességdiagramot egy fényképről, akkor a képet feloszthatod annyi részre ahány mag van és a részekre párhuzamosan végrehajtod a számlálást. Végül pedig összeadod a részeredményeket. Persze ha lehetséges, akkor menet közben is egyből aggregálhatsz, csak akkor figyelni kell a szinkronizálásra. (Amire persze amúgy is figyelni kell). Ha eleve több feladat van (mint például egy web szerver esetén) akkor tipikusan a thread pool architektúrát szokták alkalmazni, amikoris az n (vagy n-1) végrehajtó szál párhuzamosan, de önállóan dolgozza fel a kéréseket. A feladatokat funkcionálisan is szét lehet bontani, csak ekkor nagyobb probléma az egyenlő elosztás illetve a tetszőleges skálázódás. Pl. egy játék esetén lehet dedikált futási szála a rajzolásnak, a hangkezelésnek, a hálózatkezelésnek -- csak ezek ugye közel sem azonos processzorigényűek.
64 bites architektúra általában nem igényel speciális kódot, de persze ki lehet használni az előnyeit a nagyobb címtartománynak. Például ha van sok adatot tartalmazó fájlod amit eddig seek/read módon használtál véletlen elérésre, azt most nyugodtan bemappolhatod (jajj) a memóriába és így majd az operációs rendszer a hardver segítségével meggyorsíthatja a működést.
Ugyanakkor át kell nézni a jelenlegi programot, nem végez-e trükköket (tipikusan pointer -> int -> pointer konverziót) ami nem működik 64 biten.Az x86-64 továbbá nem csak azt jelenti, hogy 64 bites a címtartomány, hanem több regiszter is van. Ezzel viszont c++ esetén elég a fordítónak foglalkozni.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Milyen billentyűzetet vegyek?
- Tőzsde és gazdaság
- Hardcore café
- bitpork: Phautós tali a Balcsinál 2025 Augusztus 2 napján (szombat)
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Ingatlanos topic!
- Kínai és egyéb olcsó órák topikja
- iPhone topik
- Bluetooth hangszórók
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- További aktív témák...
- Nagyon szép állapot!! Lenovo ThinkPad T14s i5-113G7 16GB 512GB SSD
- I3 13100F + MSI B660M-P + 8gb DDR4 + 128gb ssd + Táp
- Eladó RTX 3090 24GB Videókártyák (Suprim X, Aorus, Gaming X) Felső kategóriás! Jótállással! Dobozos!
- Yamaha 5.1 hangrendszer NS-LC5 / NS-CLC5 / NS-ELC5 + YST-SW012 mélynyomó
- Precision 5550 15.6" FHD+ IPS i7-10850H T1000 16GB 512GB NVMe magyar vbill ujjlolv IR kam gar
- DDR5 16GB 8GB 32GB 4800MHz 5600MHz RAM Több db
- BESZÁMÍTÁS! Asus Maximus VIII Hero i7 6700K 16GB DDR4 512GB SSD RX 5700 XT 8GB Zalman i3 NEO 700W
- Honor X8 128GB, Kártyafüggetlen, 1 Év Garanciával
- HP EliteDesk 800 G6 i5-10500T 16GB 512GB 1 év garancia
- Eladó iPhone 13 Pro Max 128GB független alaplap tesztelt
Állásajánlatok
Cég: FOTC
Város: Budapest