Сейчас на форуме: jinoweb (+6 невидимых) |
eXeL@B —› Программирование —› ByteToHex |
<< . 1 . 2 . 3 . 4 . 5 . |
Посл.ответ | Сообщение |
|
Создано: 07 июля 2018 22:06 · Поправил: Isaev · Личное сообщение · #1 Не подскажите максимально быстрый способ перевода? Помню во времена доса на асме буквально из десятка байт был финт для этого дела, может помнит кто? А то дельфовый IntToHex(n, 2) сожрал всю скорость, посмотрев сырки стало сразу понятно куда) А вообще нужно из md5 массива байт строку собрать если делать влоб Code:
то 10млн раз выполняются около 6 сек, хотелось бы поделить это время на 2 или 3... к слову, если вместо IntToHex просто добавлять '00', то будет 2 сек. Пробовал вместо простой конкатенации заюзать TStringBuilder, но нынче, похоже менеджер памяти уже сам вполне справляется с этим хламом и с ним только на 1 сек дольше получается. Так же пробовал выделить память сразу под всю строку и мувами загонять на места, но получается тоже дольше... в общем проблема только в переводе в hex, остальное, похоже достаточно оптимально работает ----- z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh |
|
Создано: 06 августа 2018 11:23 · Поправил: dosprog · Личное сообщение · #2 |
|
Создано: 07 августа 2018 11:43 · Поправил: bizkitlimp · Личное сообщение · #3 Таблица вариант: Code:
Сами конверторы: Code:
|
|
Создано: 09 августа 2018 15:21 · Поправил: VOLKOFF · Личное сообщение · #4 Новая задачка "нано-оптимизации" для Инде Вернуть количество знаков числа. Навскидку сделал так: Code:
Деление не быстрая штука, мб ускорить умножением, или просто запилить портянку сравнений с возвратами? Я чот после тренировки туго соображаю... |
|
Создано: 09 августа 2018 15:33 · Поправил: f13nd · Личное сообщение · #5 VOLKOFF пишет: Деление не быстрая штука, мб ускорить умножением Сделай портянку из 19 сравнений, чубайс и инде нанооптимизацию оценят. И главное прокрутка будет без лагов. ----- 2 оттенка серого | Сообщение посчитали полезным: VOLKOFF |
|
Создано: 09 августа 2018 17:46 · Личное сообщение · #6 Кол-во цифр: Code:
|
|
Создано: 09 августа 2018 19:05 · Поправил: VOLKOFF · Личное сообщение · #7 bizkitlimp оно конечно даже чуть быстрее прямого сравнения, но только выхлоп не тот Code:
итд (парсер почему-то съел отступы) | Сообщение посчитали полезным: bizkitlimp |
|
Создано: 09 августа 2018 20:18 · Поправил: bizkitlimp · Личное сообщение · #8 Черт.. В оригинале: Code:
EDIT log10 походу только, а это много кода. Распилить на две ветки через cmp rcx,10000000000 (10 миллиардов) - станет 9 или 10 сравнений. Нормально будет. |
<< . 1 . 2 . 3 . 4 . 5 . |
eXeL@B —› Программирование —› ByteToHex |