GWT Requestfactory предложения производительности

Я наблюдаю очень плохую производительность при использовании GWT requestfactory. Например, запрос, который занимает у моего сервисного уровня 2 секунды до полного заполнения, занимает 20 секунд GWT для сериализации. Мой сервис возвращает ~ 100, что будет EntityProxies. Каждый из этих объектов имеет то, что станет 4 ValueProxies и еще 2 EntityProxies (100 корневых EntityProxies уровня, 400 ValueProxies и 200 дополнительных EntityProxies). Тем не менее, я вижу такое же снижение производительности в 10 раз на гораздо меньших наборах данных.

Пример фрагмента журнала:

D 2012-10-18 22:42:39.546 ServiceLayerDecorator invoke: Inoking service layer took 2265 ms
D 2012-10-18 22:42:58.957 RequestFactoryServlet doPost: Entire request took 22870 ms

Я добавил код профилирования вServiceLayerDecorator#invoke метод и завернул весь сервлет в таймер. Я профилировал сервис самостоятельно, и он действительно возвращает результаты в ~ 2 с.

Я использую GWT 2.4, но проверил это на GWT 2.5rc1 и GWT 2.5rc2. Мой бэкэнд на GAE, но я не думаю, что это играет роль здесь.

я нашелэта ошибка поданный против 2.4, который, кажется, очень связан. Я вручную применил патч отэта группа Google без удачи.

Мои доменные модели выглядят так:

class Trip {
  protected Address origin; // becomes ValueProxy
  protected Address destination; becomes ValueProxy
  protected Set<TripPassenger> tripPassengers; // Set of ValueProxies
}

class TripPassenger {
  protected Passenger passenger;
}

class Passenger {
  protected Account account;
}

Мой вопрос:

Правильно ли я профилировал код и изолировал проблему с сериализацией GWT?Могу ли я сделать что-то неправильно, что может вызвать такое поведение?Как я могу лучше профилировать код сериализации GWT, чтобы попытаться выяснить причину?

Ответы на вопрос(1)

Ваш ответ на вопрос