Hirdetés
- droidic: Windows 11 önállóság nélküli világ: a kontroll új korszaka
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Elektromos rásegítésű kerékpárok
- Brogyi: CTEK akkumulátor töltő és másolatai
- hcl: Huawei Mate 10 kókányolás
- Magga: PLEX: multimédia az egész lakásban
- Real Racing 3 - Freemium csoda
Ú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!
- World of Tanks - MMO
- Semmibe veszi a KRESZ-t a Tesla Mad Max módja
- ThinkPad (NEM IdeaPad)
- Nyíregyháza és környéke adok-veszek-beszélgetek
- Abarth, Alfa Romeo, Fiat, Lancia topik
- Autós topik
- Videószerkesztés
- droidic: Windows 11 önállóság nélküli világ: a kontroll új korszaka
- Nagyon nem szokványos módon ment tönkre egy ASML gép Kínában…
- Székesfehérvár és környéke adok-veszek-beszélgetek
- További aktív témák...
- Alkatrészt BESZÁMITOK! / ASUS TUF GAMING B550M-E alaplap Garancia: 2026.07.11
- Apple Watch ULTRA 2 49mm fekete titán GPS + Cellular nagyon szép, akkumlátor 99%! Apple.hu céges.
- Logitech G29 kormány és pedál szett, hibátlan állapotban 3 hó garanciával üzletből eladó!
- Zotac RTX 2060 AMP 6GB GDDR6
- PlayStation VR2 szett, töltőállomással és merev hordozótáskával, Bp-i üzletből eladó!
- IKEA Format lámpák eladóak (Egyben kedvezménnyel vihető!)
- Gamer PC-Számítógép! Csere-Beszámítás! I5 12400F / RTX 3070 8GB / 32GB DDR4 / 1TB SSD
- Beszámítás! Samsung Odyssey G5 32 QHD 144Hz VA 1ms monitor monitor garanciával hibátlan működéssel
- GYÖNYÖRŰ iPhone 13 Pro 128GB Sierra Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3389, 94% Akkumulátor
- GYÖNYÖRŰ iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA -Kártyafüggetlen, MS3604
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Promenade Publishing House Kft.
Város: Budapest

