Hirdetés
- gban: Ingyen kellene, de tegnapra
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- GoodSpeed: Kell e manapság egérpad vagy sem?
- sziku69: Szólánc.
- Meggyi001: Eldugott helyek Párizsban, amiket jó eséllyel még nem láttál... 2. rész.
- droidic: Windows 11 önállóság nélküli világ: a kontroll új korszaka
- sziku69: Fűzzük össze a szavakat :)
- bambano: Bambanő háza tája
- btz: Internet fejlesztés országosan!
-
LOGOUT

Új hozzászólás Aktív témák
-
pmonitor
aktív tag
Van ez a kód:
#include <stdio.h>
#include <stdlib.h>
#include <math.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 patoi(const char* str)
{
char* temp = 0, neg = 0;
int i;
while (isspace(*str)) str++;
if (*str == '-')
{
str++;
neg = 1;
}
else if (*str == '+') str++;
while (*str == '0') str++;
temp = str;
while (*temp)
{
if (!(*temp >= '0' && *temp <= '9')) break;
temp++;
}
temp--;
i = pow(10, temp - str);
int ret = 0;
for (; temp >= str; str++)
{
if (*str >= '0' && *str <= '9')
{
ret += ((*str - '0') * i);
}
else break;
i /= 10;
}
if (neg) ret *= -1;
return ret;
}
int main()
{
char str[] = "+16258156";
int val = 0, db = 0;
struct timeb start, end;
long seconds, seconds2;
int militm, militm2;
size_t i = 0;
ftime(&start);
for (i = 0; i < 1000000000; i++)
{
val = atoi(str);
//printf("%d\n", val);
//break;
}
ftime(&end);
seconds = timediff(&start, &end);
militm = start.millitm;
ftime(&start);
for (i = 0; i < 1000000000; i++)
{
val = patoi(str);
//printf("%d\n", val);
//break;
}
ftime(&end);
seconds2 = timediff(&start, &end);
militm2 = start.millitm;
printf("Eltelt ido: %ld.%03d masodperc\n", seconds, militm);
printf("Eltelt ido: %ld.%03d masodperc\n", seconds2, militm2);
return 0;
}Itt az atoi(...) stabilan 18 sec. körül, az általam készített patoi(...) stabilan 3 sec. alatt fut le. Létezik ez? Ha igen, akkor benéztem valamit? Ahogy néztem, azonos inputra azonos kimenetet ad. Vagy én lennék ilyen zseni??

Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Apple iPhone 16 - ígéretek földje
- Kínai és egyéb olcsó órák topikja
- gban: Ingyen kellene, de tegnapra
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Formula-1
- Milyen billentyűzetet vegyek?
- Xbox Series X|S
- Elemlámpa, zseblámpa
- Mobil flották
- További aktív témák...
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 16/32/64GB RAM RX 9060 XT 8GB GAMER PC termékbeszámítással
- Apple iPad Mini 6 64GB,Átlagos,Töltővel,12 hónap garanciával
- HIBÁTLAN iPhone 13 256GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS3735, 91% Akkumulátor
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RTX 5070 Ti 16GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone i5 13400F 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



