Hi John, It sounds like you might be testing this in hosted mode. If so, be aware that hosted mode performance, especially where RPC is concerned, bears no relationship whatever to deployed performance. If so, deploy your example and I think you will be amazed at the difference. Note building grids, trees etc involves drawing an order of magnitude more HTML boxes than there are items to display. 200 odd Persons should display < 0.5s when deployed, but go up to 1000+ and you will probably start to notice the browser groaning under the pressure. Then you can either fetch in batches over RPC or (in the say 500-2000 item range) cache all the items on the client and page the grid from that. It obviously varies by situation, but RPC data transfer is one thing and the HTML box drawing is another.
regards gregor On Dec 19, 2:08 am, John Lonergan <[email protected]> wrote: > I have been evaluating GWT but have come up against a problem I cannot > solve/understand. > > I have a little service method that returns a list of 'person data' > > I am finding that whilst the server side take around zero milli-secs > to handle the query (100-200 rows) the client is taking seconds before > the AsyncCallback.onSuccess() callback fires. > > I am guessing that GWT is taking an age to deserialise the response. > > I cannot afford to wait 2 or 3 seconds to deserialise and then render > the response. > > I am unsure what factors might be influencing the performance. Or > tuning/settings I might look at. > > I imagine that populating a long grid (well a couple of hundred rows) > is something that must be fairly common and that I am doing something > wrong, or missing a trick. > > Small sets of 10 rows come back fast enough, but the responsiveness > degrades proportionally to the number of rows returned .... > 12 rows 139ms > 40 rows 719ms > 120 rows 2109ms > > I like the benefits of being able to use the Java programming model > and toolset - but unless I can solve the perf issues I must look into > alternatives such as generating HTML on the server; ie becoming a more > classic JSP/HTML site and I really don't want to do this if I can > avoid it. > > Help/advice gratefully accepted. > > See API below. > > John > > My API looks like this.. > > // SERVICE INTERFACE > public interface ContactService extends RemoteService { > public Person[] findContactByName(String namePart); > > } > > // TRANSFER OBJECT > public class Person implements IsSerializable { > private static final long serialVersionUID = 1L; > String personId; > String firstName; > String lastName; > String email; > String phone; > > bunch of Getter/Setters - code omited. > > } --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~----------~----~----~----~------~----~------~--~---
