- Ez most a legjobb robotporszívó. Kérdőjel? De nem olcsó. Pont.
- Áprilisban érkezhet a OnePlus Ace 6 Ultra, közben új tabletek is készülnek
- Oppo Pad Mini néven készülhet a gyártó új, kompakt, prémium táblagépe
- Új Xiaomi Mijia etető érkezik 5 MP-es kamerával és éjjellátással
- Március 30-án mutatkozik be a Vivo Pad6 Pro
- Milyen okostelefont vegyek?
- Felújított okostelefonokat kínál a Rejoy
- iPhone topik
- MWC 2026: Bajnoki címre pályázik a Xiaomi Watch 5
- Samsung Galaxy Watch6 Classic - tekerd!
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Google Pixel topik
- Motorola Moto G06 Power – nagyfater új zakót vett
- Apple iPhone 17 - alap
- Xiaomi 17 - még mindig tart
-
Mobilarena

Új hozzászólás Aktív témák
-
pmonitor
aktív tag
válasz
Fire/SOUL/CD
#16427
üzenetére
Még azt mondják, hogy nem lehet assemblyvel gyorsabb kódot írni! Az olyanoknak ajánlom ezt a példakódot a figyelmébe:
#pragma once
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <sys/timeb.h>
int int_ToString(int num, char* dest);
char str[12];
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(void)
{
struct timeb start, end;
long seconds, seconds_1;
int militm, militm_1;
int i;
ftime(&start);
for (i = 0; i < 100000000; i++)
{
sprintf(str, "%d", -2138);
//printf(str);
}
ftime(&end);
seconds = timediff(&start, &end);
militm = start.millitm;
ftime(&start);
for (i = 0; i < 100000000; i++)
{
int_ToString(-2138, str);
//printf(str);
}
ftime(&end);
seconds_1 = timediff(&start, &end);
militm_1 = start.millitm;
printf("Eltelt ido(sprintf()): %ld.%03d masodperc\n", seconds, militm);
printf("Eltelt ido(assembly): %ld.%03d masodperc\n", seconds_1, militm_1);
}
int int_ToString(int num, char* dest)
{
__asm
{
mov edi, dest
mov eax, num
xor edx, edx
cmp eax, edx
jge nemnegativ
mov ecx, -1
imul ecx
push eax
mov eax, '-'
stosb
pop eax
nemnegativ :
xor ebx, ebx
push_chars :
xor edx, edx
mov ecx, 10
div ecx
add edx, 0x30
push edx
inc ebx
test eax, eax
jnz push_chars
pop_chars :
pop eax
stosb
dec ebx
cmp ebx, 0
jg pop_chars
mov eax, 0x0a
stosb
}
}Nálam itt az sprintf(...) stabilan 6 sec felett, az assembly kód stabilan 2 sec. alatt teljesített. Csupán kevesebb, mint az egyharmada alatt fut le az ASM kód.

Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Formula-1
- Autós topik
- Mibe tegyem a megtakarításaimat?
- Befutott a Death Stranding 2 PC-s változatának az utolsó előzetese
- Milyen okostelefont vegyek?
- Luck Dragon: Asszociációs játék. :)
- Apple asztali gépek
- Felújított okostelefonokat kínál a Rejoy
- Samsung kuponkunyeráló
- Spórolós topik
- További aktív témák...
- 2019 és 2020 iMac 27" alkatrészek (3 alaplap, i7-10700K, 5500 XT, 16GB, táp, hangszórók, ...)
- HP EliteBook 840R G4, 14" FHD, i5-8350 CPU, 8-16GB DDR4, 128GB - 1TB SSD, 4G/LTE W11, Számla, 1 év g
- GARIS / ITX méregzsák - AMD Ryzen 9 7900 / 32GB DDR5 / RTX 5070 / stb...
- HP Z240 munkaállomás (több darab) (Intel Core I7-6700, 8GB DDR4)
- Precision 5560 15.6" FHD+ IPS i7-11850H RTX A2000 32GB 512GB NVMe magyar vbill gar
- MacBook felvásárlás!! Macbook, Macbook Air, Macbook Pro
- 27% - iiyama G-MASTER G2470HSU-B6 IPS Monitor! 1920x1080 / 180Hz / 1ms / FreeSync
- Apple iPhone 13 128GB,Újszerű,Adatkabel,12 hónap garanciával
- Utolsó! M1 Max MacBook Pro 16"/ 64GB / 2TB / 27%-os ÁFÁS - (0307AB)
- Apple AirPods Max Midnight ! Új Bontatlan / 2028.03.16-ig Garancia!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest




