Hirdetés
- Kormányok / autós szimulátorok topikja
- Vezeték nélküli fejhallgatók
- Fejhallgató erősítő és DAC topik
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen széket vegyek?
- VR topik (Oculus Rift, stb.)
- Pánik a memóriapiacon
- Épített vízhűtés (nem kompakt) topic
- Kivégezheti a kisebb VGA-gyártókat az NVIDIA döntése
Új hozzászólás Aktív témák
-
LordX
veterán
válasz
EQMontoya
#3035
üzenetére
Lehet jó falura, de ugyanannyit kell írni (na jó, a függvény/osztálynevek hosszabbak), ha rendesen használsz <random>-ot.
Map: Nem értek egyet: mivel a map node-okban tárolja az adatot, amiben benne van a kulcs, az érték, és jellemzően 3 pointer (left, right, parent), ezért masszívan több memóriát foglal, mint a vector: Az összes általam ismert 64 bites implementációban 32 byte + sizeof(pair<K,V>) a node méret + allocation overhead. Win x64-en a sizeof 16 bye, tehát 40 byte a blokk, ahol az overhead átlagosan 56 byte (!!), azaz 96 byte. Per node. Ja, és a map-nek kell egy extra node (az end node). Szóval 10 elemhez kell 1056 byte heap memória map-el.
Vector esetében ez N*sizeof(int) + overhead, ami most 10*4+56 = 96, összesen a 10 elemre. 100 elemre ez 9696 vs 449 byte.
Szóval ha a cellák több, mint ~9%-át használod ki, akkor a vector nyer map ellen. És még nem is beszéltünk mennyire cache-friendly a vector, és mennyire cache-ellenséges a map; hogy a vektorban indexelsz, nem keresel.
Azért ha tényleg el kell tárolnod a kulcsot, egy kategóriával szebben áll a map, de még mindig vesztésre áll, nem véletlen van a flat_map a boost-ban (ami gyakorlatilag egy map interfész vector felett).
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Kormányok / autós szimulátorok topikja
- Mibe tegyem a megtakarításaimat?
- Kertészet, mezőgazdaság topik
- Vezeték nélküli fejhallgatók
- Fejhallgató erősítő és DAC topik
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Windows 11
- Google Pixel topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Az iPhone Air buktája elkaszálhatta vékonyítási lázat
- További aktív témák...
- Lenovo ThinkPad P15 Gen 1 Tervező Vágó Laptop -50% 15,6" i7-10750H 16/512 QUADRO T1000 4GB
- Lenovo ThinkPad P15 Gen 1 Tervező Vágó Laptop -50% 15,6" i7-10750H 16/512 QUADRO T1000 4GB
- Boya BY M1/AV Jefe TCM-100 lavalier mikrofonok
- Mantona Luis Retro kamera hátizsák fekete
- 2db Sony 128GB Uhs-II/U3/V90 és 1db Kingston 256GB Uhs-II/C10/V90
- Gamer PC-Számítógép! Csere-Beszámítás! I7 12700E / RTX 3070Ti / 32GB DDR5 / 1 TB SSD
- magyar billentyűzet - 173 - Lenovo Legion Pro 7 (16IAX10H) - Intel Core U9 275HX, RTX 5080
- BESZÁMÍTÁS! MSI B650 R7 7800X3D 32GB DDR5 2TB SSD RTX 5070Ti 16GB Asus ROG Strix Helios GX601 750W
- Samsung Galaxy A52s 128GB, Kártyafüggetlen, 1 Év Garanciával
- LG Gram 14 WUXGA IPS i7-1360P 5.0Ghz 12mag 32GB DDR5 1TB SSD Intel Iris XE 10óra Akku Win11 Garancia
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi


