Hirdetés
- Hivatalos a OnePlus 13 startdátuma
- EarFun Air Pro 4+ – érdemi plusz
- Nothing Ear (3) - mikrofonpróba
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Android alkalmazások - szoftver kibeszélő topik
- Kezünkben a OnePlus 15 és az Oppo Find X9-ek
- iPhone topik
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- Ezek a OnePlus 12 és 12R európai árai
- Örömhír: nem spórol Európán a OnePlus
-
Mobilarena

Új hozzászólás Aktív témák
-
pmonitor
aktív tag
válasz
sztanozs
#16612
üzenetére
>a felhasználói programok nagy részében a műveletek végrehajtási idejének nagy részét az IO-ra való várakozás tölti ki, nem a kalkuláció.
Van a következő kód:
#include <stdio.h>
#include <Windows.h>
#include <time.h>
#include <sys/timeb.h>
long timediff(struct timeb* start, struct timeb* end)
{
long seconds;
seconds = (long)(end->time - start->time);
start->millitm = end->millitm - start->millitm;
if (0 > start->millitm) {
start->millitm += 1000;
seconds--;
}
return seconds;
}
int main()
{
struct timeb start, end;
long seconds, seconds_1, seconds_2;
int militm, militm_1, militm_2;
int i, j;
char ch[] = "abcdefghijklmnopqrstuvvxywz";
DWORD sizewrit;
BOOL ret;
ftime(&start);
for (i = 0; i < 10000; i++)
{
FILE* fp = fopen("d:\\b.txt", "w");
for (j = 0; j < 100; j++)
{
fwrite(ch, sizeof(ch[0]), 27, fp);
}
fclose(fp);
remove("d:\\b.txt");
}
ftime(&end);
seconds = timediff(&start, &end);
militm = start.millitm;
ftime(&start);
for (i = 0; i < 10000; i++)
{
HANDLE FileH = CreateFileA("d:\\a.txt", GENERIC_WRITE, 0, 0, CREATE_NEW, FILE_ATTRIBUTE_ARCHIVE, 0);
for (j = 0; j < 100; j++)
{
WriteFile(FileH, ch, 27, &sizewrit, 0);
}
CloseHandle(FileH);
DeleteFileA("d:\\a.txt");
}
ftime(&end);
seconds_1 = timediff(&start, &end);
militm_1 = start.millitm;
printf("Eltelt ido(fwrite()): %ld.%03d masodperc\n", seconds, militm);
printf("Eltelt ido(CreateFileA()): %ld.%03d masodperc\n", seconds_1, militm_1);
return 0;
}Itt pl. a C library jelentősen gyorsabb, mint a win api hívások. Pedig mindegyik a HW-n végez műveleteket. Az állításod szerint elvileg mindegy lenne, hogy melyik algó a gyorsabb/lassabb. De itt nem így van. Pedig a disk sebessége ugyanaz. A C függvények mégis "folyékonyabban beszélik a nyelvét".
Mostanában a szabadidőmben elég sokat foglalkoztam a sebességgel. Arra jutottam, hogy egyáltalán nem lehet általánosságban kategorikusan kijelenteni vmit. Ha csak a C-t, és a library-t nézzük, akkor sem. Az egyiknél jelentősen gyorsabb, mint egy egyedi implementáció, másik esetben meg fordítva van. Ki tudja megmondani, hogy melyik van többségben?
@Ispy #16621:
Azért a játéknál többet érnek ezek a példák. Én pl. sokat tanultam belőlük. Talán a legfontosabb, hogy a mostanra majdnem NULL ASM tudásomat frissítettem. Ez önmagában is elég lenne. Ezen kívül megtudtam, hogy a C library-ban is vannak nagyon lassú megvalósítások(bár hogy mennyi, azt nem tudom) is. És még sok mindent...
Ráadásul több esetben megtudtam, hogy bizonyos esetben melyik a hatékonyabb. Ezeket sztem. nem felejtem el, ugyanakkor "elmentettem". Így ha valamikor a hatékonyabb algóra van szükség, akkor elő tudom venni a tarsolyomból. Szóval számos gyakorlatban használható eredménye is volt.@sztanozs #16625:
Kimondottan C területről nem tudok. De pl. a(z) (alkalmazás) szervereken elég sok számot kell konvertálni. És egy sűrün látogatott oldalon ez sokat jelenthet.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Debrecen és környéke adok-veszek-beszélgetek
- Hivatalos a OnePlus 13 startdátuma
- Autós topik
- World of Tanks - MMO
- Milyen RAM-ot vegyek?
- One otthoni szolgáltatások (TV, internet, telefon)
- Kormányok / autós szimulátorok topikja
- Milyen monitort vegyek?
- exHWSW - Értünk mindenhez IS
- EarFun Air Pro 4+ – érdemi plusz
- További aktív témák...
- ÚJ BONTATLAN Apple Watch Series S9 41mm Pink és Mid Azonnal Átvehető DEÁK TÉRNÉL 1 Év Apple Garancia
- Apple iPad Air 5. generáció/KÉK/64GB/M1/WIFI+Cellular/99% AKKU!!!!!
- Nitro AN515-58 15.6" FHD IPS i7-12700H RTX 3060 16GB 1TB NVMe + 1TB HDD magyar vbill gar
- Katana GF66 12UGS 15.6" FHD IPS i7-12700H RTX 3070 32GB 512GB NVMe magyar vbill gar
- 9Ryzen 9 7900 nem X-es! 65W TDP!!! 12 mag 24 szál
- BESZÁMÍTÁS! ASRock B450M R5 5500 16GB DDR4 512GB SSD Strix RTX 2070 8GB Rampage SHIVA ADATA 600W
- HIBÁTLAN iPhone 14 Pro Max 128GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, MS3937, 100% Akkumulátor
- BESZÁMÍTÁS! ASUS H510M i7 10700 16GB DDR4 512GB SSD RTX 3060 12GB GDDR6 Zalman T4 Plus ADATA 600W
- Azonnali készpénzes Intel i3 i5 i7 i9 12/13/14 gen processzor felvásárlás személyesen / csomagküldés
- HIBÁTLAN iPhone 14 256GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3531, 93% Akkumulátor
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



