
11.04.2008, 19:17
|
|
Участник форума
Регистрация: 30.09.2006
Сообщений: 134
Провел на форуме: 352963
Репутация:
197
|
|
Ksonix. У тебя тут нечего оптимизировать по большому счёту разве что только на ассемблер переписать этот кусок. кстати. сейчас нету компилятора сишного. просто хотелось бы посмотреть как он атой в асм переведёт (всмысле мусорности кода). Если руками его написать на асме получиться примерно вотт ак:
Код:
push ebx
xor ebx, ebx
a3: lodsb
cmp al, '9'
ja a1
cmp al, '0'
jb err
sub al, '0'
jmp a4
a1: cmp al, 'A'
jb err
cmp al, 'F'
ja a2
sub al, 'A'-10
jmp a4
a2: cmp al, 'a'
jb err
cmp al, 'f'
ja err
sub al, 'a'-10
a4: shl ebx, 4
or bl, al
loop a3
err:
mov eax, ebx
pop ebx
ret
ито я сомневаюсь что это супер-код всмысле короткости. может кто и короче знает. в любом случае, если тебе KSoniX переписать кусок на асм и если вышепреведённый код короче генерируемого компилером - то ты можешь выкроить парочку другую байт или мож даже и килобайт если компилятор ужасен в плане оптимизации. А раз код меньше по обьёму то скорее всего работать он будет немного побыстрее...
короче кому не лень посмотреть код функции атой (сишной) - киньте сюды плиз )
|
|
|