2011-12-14 2 views
0

Это простой, но мощный вопрос.Сравнение RPC и JSON в приложении GWT

У меня есть приложение, которое отправляет 1000 CustomDTO-список по RPC и по REST.

Я просто хочу узнать, сколько времени требуется для десериализации полезной нагрузки (в RPC) и JSON (в REST).

Моей проблема заключается в том, что время я получаю включает в себя: время

клиента + время сервера + проволочное время

времени + десериализации Там есть любое испытание приложение или Util или даже Util GWT, чтобы получить время десериализации, а не в другое время?

Спасибо.

ответ

3

Включить облегченную Метрика в вашем приложении (http://code.google.com/webtoolkit/doc/latest/DevGuideLightweightMetrics.html) GWT-RPC поддерживает их из коробки, так что если вы будете в состоянии видеть сколько времени каждый запрос GWT-RPC потрачен на сериализацию/десериализацию

1

Вы можете переопределить некоторые методы RemoteServiceServlet. Тогда вы могли бы измерить время, затрачиваемое на сериализации:

protected void onBeforeRequestDeserialized(String serializedRequest) { 
} 

protected void onAfterResponseSerialized(String serializedResponse) { 
} 

protected void onAfterRequestDeserialized(RPCRequest rpcRequest) { 
} 

Я не в курсе каких-либо утилит, хотя.

+0

это класс сервера? Меня интересует десериализация в клиенте. –

+0

Я не думаю, что вы можете сделать это на клиенте. Я имею в виду, что вы можете анализировать ответ, но это не сериализация. Сериализация - это трюк, который переводит ваши java-объекты в json и наоборот. Это делается в RemoteServiceServlet. Если вы используете GWT-RPC, вам придется создать сервлет, который расширяет этот класс. Там вы можете переопределить эти методы. Кроме того, важно помнить, что RemoteServiceServlet застегивает ответ. – Spiff

+0

RemoteServiceServlet не застегивает ответ. –