Notes |
|
|
И зачем оно нужно, если скорость упала? |
|
|
(0013773)
|
zed
|
13-02-2014 12:44
|
|
Кстати, если есть такое уж сильное желание избавиться от этой dll, то можно ещё попробовать скомпилировать её в С++Builder и подключить как obj файлик к Delphi (так обычно подключается zlib во многих проектах). Скорость при этом упасть не должна. |
|
|
|
Лично мне лишняя dll совсем не мешает. Вот если бы скорость росла, то это был бы аргумент. А так ИМХО овчинка выделки не стоит. |
|
|
|
В общем, спасибо за помощь, может когда-нибудь и пригодится, но пока особого смысла я не вижу. |
|
|
(0014604)
|
zed
|
02-09-2014 12:44
(edited on: 02-09-2014 12:45) |
|
Ради интереса попробовал слинковать скомпиленный в С++Builder объектный файл и замерить скорость. Предварительно, правда пришлось сконвертировать код в простой Си, иначе Delphi тупо не видел экспортируемых функций.
По результатам тестов оказалось, что производительность таки упала почти в 2 раза по сравнению с dll. Скорость оказалась даже меньше, чем у паскалевского кода, который всего раза в 1,5 медленнее чем dll.
Единственное, что в сишном коде для билдера пришлось прописать не очень быстрые реализации bswap_32 и bswap_64, но не может быть, чтобы из-за этого скорость упала в 2 раза. Видно, у билдера оптимизатор плохо справляется со своей задачей.
Если вдруг кого заинтересует:
- код сложил в репо
- тестовые бинарники лежат в этом архиве
|
|