Hirdetés
- Google Pixel topik
- Apple iPhone 16 Pro - rutinvizsga
- iPhone topik
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Nincs megállás akkuméretben
- Honor Magic7 Pro - kifinomult, költséges képalkotás
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Fotók, videók mobillal
- Nonjour: nem fordít az EU-ban az AirPods
- Milyen okostelefont vegyek?
Ú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
Ú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!
- Csere-Beszámítás! Mint az új! PS5 Dualsense Edge Kontroller! Gari: 2027.07
- Telefon felvásárlás!! Samsung Galaxy A22/Samsung Galaxy A23/Samsung Galaxy A25/Samsung Galaxy A05s
- HIBÁTLAN Apple Watch Ultra 2 Natural Titanium 49mm -1 ÉV GARANCIA - 100% Akkumulátor, MS3219
- REFURBISHED és ÚJ - Lenovo ThinkPad Ultra Docking Station (40AJ)
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest