Kezdőoldal » Számítástechnika » Programozás » Miért ilyen lassú a C#?

Miért ilyen lassú a C#?

Figyelt kérdés
Írtam egy programot, és amikor tömbökből kéne beolvasnia valamit, hát valami botrányosan lassú. Nem tudom valami új fejlesztést tettek bele? MErt régen nem volt ilyen. Tudom van a futtatás közbeni fordítás, de egy konzolos alkalmazástól ne vágodjon mán hanyatt.
2020. ápr. 29. 21:35
1 2
 11/19 anonim ***** válasza:
100%
Aki 9000 soros programot ír, az nem itt kérdez.
2020. ápr. 30. 12:37
Hasznos számodra ez a válasz?
 12/19 anonim ***** válasza:
100%
én is írtam 9000 soros programot kezdőként, pont azért lett valahogy annyi
2020. ápr. 30. 13:34
Hasznos számodra ez a válasz?
 13/19 A kérdező kommentje:

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.

2020. ápr. 30. 19:02
 14/19 anonim ***** válasza:
100%
Még mindig nem tudjuk pontosan hogyan van ez megvalósítva, szóval vagy mutatsz kódot, vagy neked kell rájönni mitől lassú a futása.
2020. ápr. 30. 19:19
Hasznos számodra ez a válasz?
 15/19 anonim ***** válasza:
100%
Mit csinal konkretan a programod, azonkivul, hogy tombokbe olvas be? Mit olvasol be a tombokbe? Mekkora tombokrol van szo? Milyen tipusu tombok?
2020. ápr. 30. 20:48
Hasznos számodra ez a válasz?
 16/19 A kérdező kommentje:

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

2020. ápr. 30. 21:10
 17/19 anonim ***** válasza:
100%
A viszontlátásra!
2020. ápr. 30. 21:18
Hasznos számodra ez a válasz?
 18/19 tabaki ***** válasza:
100%

É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...

2020. máj. 2. 01:58
Hasznos számodra ez a válasz?
 19/19 tabaki ***** válasza:
64%

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:

[link]

Tanulság nincs.

2020. máj. 5. 17:51
Hasznos számodra ez a válasz?
1 2

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!