А почему .net провайдер так жутко тормозит при работе с fbembed ?
Я выполнил твой тест, цифры примерно следующие (по памяти)
а) своя реализация протокола : варчары < 2 сек, блобы > 20 сек
б) через fbembed : варчары ~ 14 сек, блобы ~ 14 сек

    откуда такие тормоза во втором варианте ? Кто тормозит - interop или
marshalling или ... ?

Я сравнений не производил, но знаю что вызовы унаследованного кода производятся через PInvoke, который не считается особо быстрым. Я когда-то просматривал коды провайдера (ещё версии 1.7) и насколько я помню Карлос в своей реализации просто переписал код клиента c C++ на C#, а для встраиваемой версии он просто импортирует клиентские функции. А потом разруливает фоажком которую вызывать. Но я гарантии не дам что это 100% так :-)

    Тот же тест с IBX показал, что fbembed работает с блобами _быстрее_,
 чем с варчарами.

Так значит это Карлос там что-то не то сделал? Почему ж в собственном протоколе такая огромная разница?

Ответить