C-код очень медленно использует его как нативный код Java - PullRequest
0 голосов
/ 21 марта 2011

Я называю C-код, как нативный код, из Java с JNI.Итак, я создал DLL и загружаю ее из кода Java.Это очень странно, но если я запускаю тот же C-код, что и .exe, он работает быстрее, чем тот же код, что и нативный код.Зачем??Я использую 64-битную Windows 7, 32-битную jdk, Cygwin, dll в 32-битной версии

1 Ответ

0 голосов
/ 21 марта 2011

Конечно, есть разница между режимом отладки и выпуска.В режиме отладки компилятор избегает агрессивных оптимизаций, потому что они, как правило, усложняют отладку.В режиме релиза этого не будет.Так что, если ваш .exe собран в режиме релиза, а ваша DLL в режиме отладки, это может привести к описанному вами эффекту.(Является ли это причиной разницы, здесь недостаточно информации, чтобы сказать. Можете ли вы убедиться, что оба построены одинаково, и сообщить, исчезла ли разница в скорости?)

...