Показать сообщение отдельно

  #12  
Старый 11.04.2008, 19:17
KindEcstasy
Участник форума
Регистрация: 30.09.2006
Сообщений: 134
Провел на форуме:
352963

Репутация: 197
Отправить сообщение для KindEcstasy с помощью ICQ
По умолчанию

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 переписать кусок на асм и если вышепреведённый код короче генерируемого компилером - то ты можешь выкроить парочку другую байт или мож даже и килобайт если компилятор ужасен в плане оптимизации. А раз код меньше по обьёму то скорее всего работать он будет немного побыстрее...

короче кому не лень посмотреть код функции атой (сишной) - киньте сюды плиз )
 
Ответить с цитированием