Miért ilyen lassú a C#?










Lehet hogy nem ennyi kellett volna. Tömböket hazsnálok, miért mit kéne helyette?
Visual studio 2017 et használok. Frissítem mindig.
De amikor a tömbökből beolvas valamit, akkor az sok idő kb 1-2 másodperc. Pedig a konzolos alkalmazás többi része billentyűleütésre azonnal reagál.










Kettő tömböt használok egy stringeset(mnév) és az étrtékét(int)..
De mindegy kezd bonyolúlt lenni hagyom a francba csak kíváncsi voltam mitől van.
Megyek beba.szni csátok:D





Én azért nem bánnám, ha még visszatérnél a körünkbe. A tömbök létrehozása és fájlokból való feltöltése két sor. A keresés, némi rafinériákat feltételezve, mondjuk húsz sor. Nem tudom, mit csinál a többi 8978 sor, de a probléma szempontjából nem is lényeges. Ezt a rövid részletet emeld ki egy külön programba, és mutasd be – az többet ér ennél a furcsa társalgásnál, amikor a minimális információ morzsáinak töredékét is harapófogóval kell kihúzni belőled.
Annak az alapján, hogy az összetartozó adatokat két külön tömbben tárolod, az vélelmezhető, hogy esetleg egyéb téren sem okvetlenül találtál rá az optimumra. Lehet, hogy már magad is úgy sejted, hogy valamit nagyon hülyén csináltál; Lehet, hogy ezt a könyörtelenebb kollégák képesek is lesznek az orrod alá dörgölni. Viszont jó eséllyel kapsz egy használható megoldást, amiből még tanulhatsz is. Ez csak megér egy kis pironkodást...





Ha már hagytál egy kissé lélegzethez jutni bennünket, gondoltam, hogy a sürgetőbb problémáim feledtetésére utánajárok a rejtélyes jelenségnek. Írtam egy programot, amelynek hossza ugyan messze elmarad a 9000 sortól, de vigaszul az e célra létrehozott szöveges adatfájlból egy húszezer elemű struktúratömböt tölt fel „nevekkel” (valójában egy másik program által generált véletlen stringekkel), és 0..50000 közötti értékekkel. Ez az én rosszacska gépemen mintegy fél másodpercet vesz igénybe a program elején.
Ezután a következőket végzi:
1. Bekér egy tömbindexet, és kiírja az annak megfelelő elem nevét és értékét. Ez a mérés szerint nem igényel 1 ezredmásodpercet sem.
2. Bekér egy szöveget, és képernyőre listázza azokat a tömbelemeket, amelyeknek a nevében szerepel. Ez a neveimben leggyakrabban szereplő „e” keresése esetén kábé 1/3 másodperc, 4 karakteres keresés esetén rendszerint 0,02 másodperc alatt marad.
3. Bekér két határszámot, és kilistázza azokat a tömbelemeket, amelyekben az érték e kettő közé esik. Teljes lefedettséggel, tehát 0..50000 között is kevesebb, mint fél másodperc a keresés és a kiírás, a határok szűkítésével pedig értelemszerűen gyorsul, tízes intervallum esetén például néhány ezredmásodpercre.
Megjegyzem, a 2. és 3. művelet mindenképpen végigmegy a teljes tömbön, tehát a legócskább beállítások tényleg a leghosszabb időt jelentik, amit ki lehet facsarni az én adathalmazomból. A kettőt összeadva sem jutottam soha az általad emlegetett 1-2 másodperc közelébe. Egy átlagos futtatás képernyője és annak részletezése:
Tanulság nincs.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!