Re: Big RPC and long running script error

2009-07-23 Thread John Lonergan


The long running script error in IE is actually triggered by the
number of JS statements executed (by default 5 million).
In other browsers the execution time is used.
IMHO the IE approach is better because success/failure for an
algorithm completely predictable/repeatable based on the complexity of
the code and the volume of data/iterations executed between browser
events.

Unless GWT RPC uses incremental processing for the serialisation my
guess is that one should be able to produce a test that repeatable
fails on MSIE.

I wonder has anyone actually tested?



On Jul 7, 6:23 pm, Fred Sauer  wrote:
> John,
>
> RPC does try it's best to be fast, but each browser puts its own
> restrictions in place for long eval times, and these restrictions change
> over time.
>
> I'd let the user experience guide you. I'd try to start displaying results
> to the user as quickly as possible. The user can't absorb 10,000 rows at
> once, so why now grab the first 30 or so rows and display those. While the
> user is looking at those, you can download additional rows.
>
> Fred
>
> On Tue, Jun 30, 2009 at 12:11 PM, John Lonergan 
> wrote:
>
>
>
> > Does the RPC mechanism take any steps to avoid the dreaded long
> > running script error for big serialisations and deserialisations?
>
> > If not then is there anything I can do on the client side to chunk the
> > serialisation/deserialisation.
>
> > I'm shunting 10,000 rows up from the server and back.
>
> > Surprisingly it seems to perform ok even in IE however I'd like to
> > understand the limitations of this RPC technology.
>
> --
> Fred Sauer
> f...@allen-sauer.com
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to Google-Web-Toolkit@googlegroups.com
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~--~~~~--~~--~--~---



GWT RichTextArea and double line spacing (paragraphs)

2009-06-30 Thread John Lonergan

When hitting the Return key in a richtextarea we get double line
spacing rather than single line spacing.

Looking at the generated HTML we find that each CarriageReturn causes
a pair of paragraph tags (my text) to be wrapped around the
text.

Can paragraph insertion be turned off.

My users want single line spacing.

Suggestions?
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to Google-Web-Toolkit@googlegroups.com
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~--~~~~--~~--~--~---



Survey - who's doing what

2009-06-30 Thread John Lonergan

Is there a survey anywhere showing who's using what components/
toolkits.

How many people are using just plain old GWT widgets / or some other
named toolkit (eg SmartGwt).
What folk are using 3rd party toolkits are they mixing basic GWT with
toolkit widgets, or just using the toolkit generally.
Are folk building new widgets (what/which) or just reusing/agregating
other's widgets.


Eg google wave - is this build on plain old GWT and/or to what extent
have the developers had to extend the basic GWT widget set (eg the GWT
grids are pretty basic).
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to Google-Web-Toolkit@googlegroups.com
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~--~~~~--~~--~--~---



Re: IE Performance Problems

2009-06-30 Thread John Lonergan

I am using the SmartGwt grid and stuffing 10K rows into it using their
DataSource api wrapped round an RPC.
The entire data set gets held client-side.

This grid seems to handle loading 10k rows reasonably well.
Group/Multiple select may cause the slow running script error on big
lists so smartgwt has a configurable 'turn off groupby' at 1000 rows.
I don't enable multi select on big lists - is this a really useful
feature on a grid with N thousand rows?
I haven't yet seen sorting as a problem.
Add/remove/edit work fine.


On Jun 30, 1:00 am, radcortez  wrote:
> Hi,
>
> I'm currently developing a web application using GWT, and i'm having
> some performance issues on IE 6 and IE 7. My main requirement is to
> have a grid able to fulfill the following operations:
> - Pagination
> - Sort
> - Column Resize
> - Add / Remove / Edit rows
> - Data Grouping
> - Highlighting
>
> I've looked to some existent solutions like Ext GWT and Smart GWT and
> they performed poorly on IE, so i decided to make my own simpler
> implementation.
>
> I began with a simple grid with only data display and started from
> that on, to implement those functionalities mentioned above. With each
> new implementation, the performance started to degrade a lot, to a
> point considered unacceptable to me.
>
> I know about IE JS engine problems, but is it possible to have a high
> performance grid with those features? If yes, do you think i should
> stick with some sort of library like Ext GWT or Smart GWT? In my
> opinion, the grids offered by those libraries are also slow. Does
> anyone have any set of recommendations to develop high performance
> widgets in GWT for IE?
>
> Regards
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to Google-Web-Toolkit@googlegroups.com
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~--~~~~--~~--~--~---



Big RPC and long running script error

2009-06-30 Thread John Lonergan

Does the RPC mechanism take any steps to avoid the dreaded long
running script error for big serialisations and deserialisations?

If not then is there anything I can do on the client side to chunk the
serialisation/deserialisation.

I'm shunting 10,000 rows up from the server and back.

Surprisingly it seems to perform ok even in IE however I'd like to
understand the limitations of this RPC technology.
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to Google-Web-Toolkit@googlegroups.com
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~--~~~~--~~--~--~---



Re: Browser (IE) hangs when launched a GWT application in a child window

2009-06-16 Thread John Lonergan

Hi - how did you manage to track and abort outstanding RPC's from the
client?

Thanks JL



On Jun 5, 9:02 pm, gpike  wrote:
> Hi Maddy,
>
>   We had the same issue. What we found was if the window was closed
> while an rpc request was outstanding a port was blocked so subsequent
> calls would fail. To fix it we had to track and abort any rpc requests
> in a IWindowCloseListener.
>
> Gordonhttp://devbright.com
>
> On Jun 5, 12:52 pm, Maddy  wrote:
>
>
>
> > Hi,
>
> > My GWT application gets launched in a child browser from another
> > parent brwoser. When the user closes the browser, while the GWT
> > application is running and when he launches back the application
> > again, IE hangs and it is just a blank screen..
>
> > This is not happening all the time and it happens occasionally.
> > Application works fine in Firefox.
>
> > Could anybody help me with this, as this is becoming a serious issue.- Hide 
> > quoted text -
>
> - Show quoted text -
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to Google-Web-Toolkit@googlegroups.com
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~--~~~~--~~--~--~---



Re: Poor performance for simple query - seems to be in the deserialisation mostly

2009-01-01 Thread John Lonergan

Dave,

Hi - it was during an attempt to incrementally extend the grid that I
noticed that the cost of the extenstions on the more functional grids
was exponentially bad for each extension.

I think the only viable approach is
- a live grid (similar to the DHTMX one or possibly the Live grid in
smart gwt)
or
- ditch GWT and use a plain old server round trip for each grid query,
sort and group operation (which experiment has shown that is an order
of magnitude faster than GWT in IE for a few hundred rows on sorting/
grouping grids I've seen so far)

For GWT to be viable we need a set of decent and fast off the shelf
components - I think we're not there yet
The days are gone when I expect my dev team to routinely extend
primitive GUI widgets to make them useful.

JL


On Dec 31 2008, 6:11 pm, "Dave LeBlanc" 
wrote:
> Hi John,
>
> You might want to look at using an IncrementalCommand approach to costly
> rendering - that is, you break up an expensive rendering operation into
> chunks and amortize this cost a little - while still maintaining
> interactivity of the browser.
>
> This probably wouldn't help your issue if the update really takes 15
> seconds, but splitting up a 5 second operation into 10 slices, each taking
> 0.5 seconds would probably make the UI appear much more interactive - and
> it's a style people are used to with non-ajaxy apps (the page loading
> incrementally).
>
> I second the comment about paging - especially lazy fetching, this can be a
> good way to cut down on the cost of rending all these at once. Looking at
> google reader, I like how they page in older articles as you scroll to the
> end of what they've already loaded. (the reader was also built with GWT).
> Integrating a prefetching approach can add even more interactivity.
>
> Finally, you might want to look into augmenting the bulk table stuff with
> your own support for minimal sorting and grouping - if performance is such a
> criteria.
>
> Given the constraints of IE, these are probably reasonable approaches.
>
>  -Dave...
>
> On Wed, Dec 31, 2008 at 12:58 PM, John Lonergan 
> wrote:
>
>
>
>
>
> > Firstly thank you all for your continued discussion.
>
> > I would really love to start using this technology in a major new app
> > I'm about to start and the reason I'm asking questions / advice is
> > that I need to determine what the limitations are and whether or not
> > this is a viable option for my use cases.
>
> > Note that we have an existing front end in .Net with a Java middle
> > tier serving XML to the client.
>
> > I have never been happy with this arch and the split of skills, build,
> > test, deployment mechanisms.
>
> > The .Net front end only exists to give the user's a richer UI
> > experience - but it's a pain.
>
> > I was hoping that GWT would be the enabling technology to ditch
> > the .Net/Windows.
>
> > I can see GWT working fine for simple forms or short grids but I must
> > be able to support long grids.
>
> > I would not put an explicit grid paging based approach in front of the
> > users.
>
> > The point about DHTMLX or other live-grids being a "paging" approach
> > is true from a technical standpoint, but not true from a user-
> > experience viewpoint and that is what really matters.
>
> > My eval criteria for grids has been ...
> > - sorting/grouping capability
> > - fast load, which means sub-second rendering of 200 rows of data and
> > no more than 2 or 3 seconds for 2000 rows (this would be worse than my
> > existing .Net solution)
>
> > In the case of the second requirement I would accept a 'live grid
> > approach' - which would mean that the requirement could be interpreted
> > as...
> > - "fast load, which means 200ms rendering of first 'page' of data for
> > a set up-to 2000 rows and no more than 200ms for any subsequent page"
> > (200ms is effectively instantaneous from a user perspective).
>
> > My feeling from what I've seen is that where IE (all versions) is
> > concerned, none of the currently available widgets can support sorting/
> > grouping and perform adequately.
>
> > ---
>
> > The bulk loading stuff (http://google-web-toolkit-
> > incubator.googlecode.com/svn/trunk/demo/BulkLoadingTableDemo/
> > BulkLoadingTableDemo.html<http://incubator.googlecode.com/svn/trunk/demo/BulkLoadingTableDemo/B...>)
> > looks interesting but there's no sorting/
> > grouping.
>
> > The bulk load API on IE 7 does 2000 rows in <1sec which is great but
> > there's no sort/group.
> > and on chrome 

Re: Poor performance for simple query - seems to be in the deserialisation mostly

2008-12-31 Thread John Lonergan

Firstly thank you all for your continued discussion.

I would really love to start using this technology in a major new app
I'm about to start and the reason I'm asking questions / advice is
that I need to determine what the limitations are and whether or not
this is a viable option for my use cases.

Note that we have an existing front end in .Net with a Java middle
tier serving XML to the client.

I have never been happy with this arch and the split of skills, build,
test, deployment mechanisms.

The .Net front end only exists to give the user's a richer UI
experience - but it's a pain.

I was hoping that GWT would be the enabling technology to ditch
the .Net/Windows.

I can see GWT working fine for simple forms or short grids but I must
be able to support long grids.

I would not put an explicit grid paging based approach in front of the
users.

The point about DHTMLX or other live-grids being a "paging" approach
is true from a technical standpoint, but not true from a user-
experience viewpoint and that is what really matters.


My eval criteria for grids has been ...
- sorting/grouping capability
- fast load, which means sub-second rendering of 200 rows of data and
no more than 2 or 3 seconds for 2000 rows (this would be worse than my
existing .Net solution)

In the case of the second requirement I would accept a 'live grid
approach' - which would mean that the requirement could be interpreted
as...
- "fast load, which means 200ms rendering of first 'page' of data for
a set up-to 2000 rows and no more than 200ms for any subsequent page"
(200ms is effectively instantaneous from a user perspective).

My feeling from what I've seen is that where IE (all versions) is
concerned, none of the currently available widgets can support sorting/
grouping and perform adequately.

---

The bulk loading stuff (http://google-web-toolkit-
incubator.googlecode.com/svn/trunk/demo/BulkLoadingTableDemo/
BulkLoadingTableDemo.html) looks interesting but there's no sorting/
grouping.

The bulk load API on IE 7 does 2000 rows in <1sec which is great but
there's no sort/group.
and on chrome I can bulk insert 2000 rows in 200ms which is brilliant
except I must use IE.

---

Re the incubator / scrolltable...

See earlier I used the scroll table as a reference ..
http://google-web-toolkit-incubator.googlecode.com/svn/trunk/demo/ScrollTable/index.html

It's just too slow on IE - worse still the perf actually degrades
badly as we add additional batches of  rows.

IE7 tests ...
1st set of 100 took 7 secs
next set of 100 took 15 secs (ie total 200 rows)
thirst set of 100 took 27 secs   (ie total 300 rows)

What I was seeing was an exponential degradation in perf for each
batch of additional rows.



Given that all the grids I've looked at performs poorly in IE I expect
this will rule out GWT for apps like mine where the main deployment
env is IE and where grids of more than a few tens of rows  are used.




>From my angle it looks like JavaScript grid functionality is a non-
starter because of Microsoft.

The other browsers (particularly chrome) are an order of magnitude
faster.

Is there any benefit to Microsoft fixing this?
I doubt it.

Wouldn't the success of GWT for corporates actually distract attention
from SilverLight?

I'm not a much of a conspiracy theorist but if I were MS then I don't
think that fixing IE's obvious perf problems would be high on my list
of priorities.



Note I would love to be proved wrong on the GWT perf thing for grids.

- sorting
- grouping
- fast (defined above) on IE



Right now it looks like the only possible contender for me is a Live-
grid approach.

Its all so unfortunate - I can get 2000 rows of data into the client
with a network round trip, all in less than 100ms but it's taking
seconds to render.

Does anyone know of a good sorting/grouping live grid demo that allows
a variable number or rows to be inserted (for test purposes)?

Thanks Again folk,

John




On Dec 30, 8:50 am, fin  wrote:
> Hi John,
>
> then have a look at the table stuff in the incubator project. That
> contains sortable, pageable, scrollable table solutions which can have
> bulk renderers.
> It's also worth seeing the gwt mosaic project. It's table solutions
> are based on the tables of the incubator project (and seems to be easy
> to use but it is still under development).
>
> Best regards,
> Tibor
>
> On Dec 29, 9:58 pm, John Lonergan  wrote:
>
> > Hi - I've taken a look at the grids in the incubator and they are
> > definitely much faster (200ms in IE7).
>
> > But those grids are very basic.
>
> > I need a grid that's a bit more functional ..
> > - sorting
> > - scrolling
> > - fixed non-scrolling header row (i.e.header doesn't scroll with rest
> > of grid)
>
> &

Re: Poor performance for simple query - seems to be in the deserialisation mostly

2008-12-29 Thread John Lonergan

Hi - I've taken a look at the grids in the incubator and they are
definitely much faster (200ms in IE7).

But those grids are very basic.

I need a grid that's a bit more functional ..
- sorting
- scrolling
- fixed non-scrolling header row (i.e.header doesn't scroll with rest
of grid)

Are such features available in a fast grid and are there any examples?

Thanks

John


On Dec 29, 1:18 pm, gregor  wrote:
> Hi John,
>
> 1) I concur with your timings on that incubator scroll table demo for
> FF at 3s, but not on IE at 15s: mine does it in 5s. Suggest something
> strange about your IE set up??
>
> 2) The DHTMLX  example lazily loads rows on demand using what looks
> like a scroll listener. Overall table size probably calculated from
> secondary DB query for num rows and overall height of scroll panel set
> accordingly. So user gets an impression of the overall size of table
> and can use scroll bar and/or page ip/down & up/down arrows to
> navigate it. It only ever fills in the visible portion. Impressive
> trickery, but IMO the only advantage this has over the more
> traditional <-prev : next-> button navigation format is user can
> scroll right down table quickly using the scroll bar handle. But how
> could user know which records they might hit by doing this? Clever
> programming maybe but is it good UI design? IMO that is questionable.
> There are other ways to make sense of large data sets in the UI.
>
> 3) Although it takes 3s for FF and 5s for IE to render the incubator
> scroll table example for 100 rows, my little test does this in both
> browsers <0.5s for 200 records, about 0.5s for 500, and about 3s for
> 2000 in FF, slightly longer for the 2000 in IE. OK, mine is running
> local and the examples are running over the net, but that doesn't
> account for all of the massive difference. This should be telling you
> something: tabular data grids can be complicated things, and people
> have wide variations in requirements for them, so ready made
> generalized grid components need shed loads of code to make them
> configurable for everybody's needs. In most cases if you roll your own
> component from base GWT widgets you will get blisteringperformance
> for your own use cases by comparison because you can build it to do
> exactly what you need it to do, and only what you need it to do.
>
> 4) If I wanted to use a ready made component for this I would head
> straight for the new PagingScrollTable in the incubator. Reason being
> that nothing makes into official GWT code unless it works as fast as
> is reasonably possible. GWT makes no compromise on this. What does a
> user care most about: a) how quickly and easily they can get at the
> information they need, or b) how pretty it looks in the screen?
>
> 5) If you are using an Ext family grid widget it will definitely run
> slow because there is heaps of Ext framework javascript running as
> well as actual widget code. Ext looks great, but does not compete with
> base GWT forperformanceor reconfigurability.
>
> 6) Paging *is* the answer to this problem: As you can see from your
> DHTMLX example above, what they do is paging but in a hidden way, i.e.
> they try to give the impression that the whole 50,000 rows are loaded,
> but of course in reality they are not, and this is obvious when you
> play with it because it simply isn't fast enough to deceive the eye.
>
> regards
> gregor
>
> On Dec 29, 9:30 am, fin  wrote:
>
> > Hi John,
>
> > have a look at the bulk renderer feature of the GWT incubator 
> > project:http://code.google.com/p/google-web-toolkit-incubator/wiki/BulkTableR...
> > andhttp://code.google.com/docreader/#p=google-web-toolkit-incubator&s=go...
>
> > Best regards,
> > Tibor
>
> > On Dec 29, 5:32 am, John Lonergan  wrote:
>
> > > Hi - yep there was a problem in my test program but now that that's
> > > ironed out I'm getting ok'ishperformancein FF3 and Chrome however in
> > > IE the perf is poor.
>
> > > All the time is spent populating the grid / rendering.
>
> > > IE is the target deployment platform - they only have IE installed.
>
> > > Have been looking for online samples that are useful for demonstrating
> > > a sort of problem I'm seeing.
>
> > > I found this useful demo that allowed me to verify that what I'm
> > > seeing re rendering times is not just a result of my dodgy program.
>
> > >http://google-web-toolkit-incubator.googlecode.com/svn/trunk/demo/Scr...
>
> > > I tested by clicking "Add 100 rows" on the Data Manipulation tab.
>
> > > The relative timings are ...
> > > IE      1

Re: Poor performance for simple query - seems to be in the deserialisation mostly

2008-12-28 Thread John Lonergan

Hi - yep there was a problem in my test program but now that that's
ironed out I'm getting ok'ish performance in FF3 and Chrome however in
IE the perf is poor.

All the time is spent populating the grid / rendering.

IE is the target deployment platform - they only have IE installed.

Have been looking for online samples that are useful for demonstrating
a sort of problem I'm seeing.

I found this useful demo that allowed me to verify that what I'm
seeing re rendering times is not just a result of my dodgy program.

http://google-web-toolkit-incubator.googlecode.com/svn/trunk/demo/ScrollTable/index.html

I tested by clicking "Add 100 rows" on the Data Manipulation tab.

The relative timings are ...
IE  15 secs
FF3 3 secs
Chrome  1 sec

This is consistent with what I see for my grid test.
I'm using com.extjs.gxt.ui.client.widget.grid.Grid

I suspect that the more basic a grid I use, the quicker the rendering
will be.

However, I assume one can achieve something similar to the 'big data
set example" from DHTMLX
http://www.dhtmlx.com/docs/products/dhtmlxGrid/samples/loading_big_datasets/5.html
Where we fetch the data in chunks on-demand.

However, I've noticed that the time taken to insert new rows on the
GWT grids I've played with takes longer the more rows are inserted.

Are there any good examples of what can be done with big grids without
paging?





On Dec 22, 2:15 pm, gregor  wrote:
> Hi John,
>
> Yes, compile/browse ought to give you goodperformance. A 200 Person[]
> returned over RPC should enable you to resize and show all of them in
> a Grid within about 0.5s in web mode (it works in compile/browse too).
> Example code below. If it isn't doing so, then something is wrong with
> what you are doing I think, not the RPC layer.
>
> regards
> gregor
>
> public class SandBox implements EntryPoint {
>
>     private VerticalPanel layout = new VerticalPanel();
>     private ScrollPanel scroller = new ScrollPanel();
>     private Grid grid = new Grid(1, 5);
>
>     private Button fireBtn = new Button("Fire", new ClickListener() {
>
>         public void onClick(Widget sender) {
>             GenericListServiceAsync proxy =
> GenericListService.App.getInstance();
>             proxy.getPeople(new AsyncCallback() {
>
>                 public void onFailure(Throwable caught) {
>                     Window.alert("RPC call failed");
>                 }
>
>                 public void onSuccess(Object result) {
>                     Person[] people = (Person[]) result;
>                     loadGrid(people);
>                 }
>             });
>         }
>     });
>
>     public void onModuleLoad() {
>
>         scroller.setHeight("" + (Window.getClientHeight() - 100));
>         scroller.setWidth("100%");
>         scroller.add(grid);
>
>         grid.setBorderWidth(4);
>         grid.setWidth("100%");
>
>         layout.add(fireBtn);
>         layout.add(scroller);
>         layout.setSize("100%","100%");
>         RootPanel.get().add(layout);
>     }
>
>     private void loadGrid(Person[] people) {
>
>         grid.resize(people.length,5);
>         for (int i = 0; i < people.length; i++) {
>             Person p = people[i];
>             grid.setWidget(i,0,new Label(p.getPersonId()));
>             grid.setWidget(i,1,new Label(p.getFirstName()));
>             grid.setWidget(i,2,new Label(p.getLastName()));
>             grid.setWidget(i,3,new Label(p.getEmail()));
>             grid.setWidget(i,4,new Label(p.getPhone()));
>         }
>     }
>
> }
>
> On Dec 22, 11:57 am, John Lonergan  wrote:
>
>
>
> > Thanks Gregor
>
> > I've hit the Compile/Browse button - I understood that caused the app
> > to run in 'web mode' (as opposed to hosted).
>
> > Or do I need to run it in a standalone tomcat to get a perf boost?
>
> > John
>
> > On Dec 19, 1:48 pm, gregor  wrote:
>
> > > Hi John,
>
> > > It sounds like you might be testing this in hosted mode. If so, be
> > > aware that hosted modeperformance, especially where RPC is concerned,
> > > bears no relationship whatever to deployedperformance. 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 f

Re: Poor performance for simple query - seems to be in the deserialisation mostly

2008-12-22 Thread John Lonergan

Thanks Gregor

I've hit the Compile/Browse button - I understood that caused the app
to run in 'web mode' (as opposed to hosted).

Or do I need to run it in a standalone tomcat to get a perf boost?

John

On Dec 19, 1:48 pm, gregor  wrote:
> 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  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 Google-Web-Toolkit@googlegroups.com
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~--~~~~--~~--~--~---



Poor performance for simple query - seems to be in the deserialisation mostly

2008-12-19 Thread John Lonergan

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 Google-Web-Toolkit@googlegroups.com
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~--~~~~--~~--~--~---