- iPhone topik
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Poco F7 – bajnokesélyes
- Xiaomi 15 - kicsi telefon nagy energiával
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Xiaomi 15T Pro - a téma nincs lezárva
- Apple iPhone 16 - ígéretek földje
- Műholdas AI chippel fedné le a bolygót a Samsung
- Érintésnélküli fizetési megoldások - PayPass via NFC
Új hozzászólás Aktív témák
-
joysefke
veterán
válasz
DrojDtroll
#9331
üzenetére
for (int i = 0; i < heigth; i++){for (int j = 0; j < width; j++){result[j, i] = reader.ReadUInt16();}}Itt van még egy olyan probléma (mindkét példádban), hogy úgy iterálsz át egy nagy többdimenziós tömbön, hogy a belső ciklusod nem a tömb legjobboldalibb dimenzióján iterál.
C#-ban a többdimenziós tömbök (A[,,,]) row-major ként vannak a memóriában, tehát a legjobb oldalibb dimenzió egymás melletti elemei a memóriában egymás mellett lesznek. az A[100, 50] elem mellett az A[100,51] elem van. Ezzel szemben az A[101,50] az teljesen máshol van, a te esetedben (2048) elemmel később mint az A[100,50], tehát mivel int tömbről van szó, 8KB-tal később van. Az hogy itt csak írsz és nem olvasol kb mindegy, mert nyilván egy egész cache line lesz írva/olvasva.
A helyzeten cache-line szempontből még (valószínűleg) tovább ront itt, hogy kettő hatványonként iterálsz. ilyen problémák nagy mátrixok szorzásánál vannak
-
joysefke
veterán
válasz
DrojDtroll
#9331
üzenetére
Nincs időm kipróbálni, de nekem egyáltalán nem szimpatikus egy ilyen nagy fájlnak a mini adagokban való szekvenciális olvasgatása.
1, Miért nem a sima stream Read metódussal olvasol azonnal byte[] tömbbe?
2, Én megpróbálnám a bufferméreteket manuálisan feljebb húzni. Alapból csak valami ici-pici bufferekkel dolgozik. (nekem pár 10KB rémlik)
3, Nem mintha itt számítania kellene de te itt ugye 4M elemen iterálsz át egy szoros for () ciklusban => ha nem fájlműveletet végeznél, akkor már ez is bizonyos helyzetekben indokolatlanul lassú (4M tömbhatár ellenőrzés az indexerekre+ ellenőrzés az iterátoron, szerk: mondjuk 4M az még nem túl sok..)
(4, miért int tömbben-ben tárolod a short értékeidet?)5, a két kód ránézésre nem ugyanazt csinálja. a második konkrétan elcseszettnek tűnik.
64bitenként olvasol és ugyanúgy 4M-szor mint amikor 16 bitenként olvastál????
Ú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!
- iPhone topik
- Star Citizen
- Győr és környéke adok-veszek-beszélgetek
- Óra topik
- One otthoni szolgáltatások (TV, internet, telefon)
- Philips LCD és LED TV-k
- Építő/felújító topik
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- HiFi műszaki szemmel - sztereó hangrendszerek
- További aktív témák...
- új bontatlan iPhone 16 Pro Max 256GB black titanium fekete titán független Apple 1 év garancia
- Wharfedale Slim Bass 8 - 400W
- WD Black SN850X 8TB M.2 NVME PCI-E 4.0 x4 - Hűtőbordás- Új - 7200-6600 MBs - Eladó!
- WD Black SN850X 8TB M.2 NVME PCI-E 4.0 x4 - Új - 7200-6600 MBs - Eladó!
- P14s Gen2i 27% 14" FHD IPS i7-1165G7 T500 32GB 512GB NVMe magyar vbill ujjlolv IR kam gar
- PS5 PlayStation 5 Slim (lemezes, 1TB) kiváló állapotban! 6 Hónap Jótállás
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! Asrock B450M R5 5500 16GB DDR4 512GB SSD RTX 2060 Super 8GB THERMALTAKE VERSA H17 600W
- LG NanoCell 43NANO763QA csere is érdekel (dobozával minden tarozéka meg van)
- Telefon felvásárlás!! Samsung Galaxy A20e/Samsung Galaxy A40/Samsung Galaxy A04s/Samsung Galaxy A03s
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



