Vaadin App takes 30 seconds to Load

Looking for solutions to improve performance for an app that is in beta:

http://drafty.cs.brown.edu/Drafty/

It can take up to 30 seconds to load. It is loading around 3000 rows into the Grid. Which is the core of the problem. Also sometimes the app will load with nothing loaded in the Grid. How I am using the Grid:

[code]
GeneratedPropertyContainer gpcontainer = new GeneratedPropertyContainer(container);
resultsGrid.setContainerDataSource(gpcontainer);

////how data is added to row:
resultsGrid.addRow()
[/code]It is calling the database which gets a prewritten View and then I re-organize the rest of the data in Java since it is fast than doing multiple joins in MySQL.

Any thoughts or attempts to improve loading speeds with the grid?

I tried your link and it took ~5 seconds to load. The actual rendering was really quick, just a few milliseconds and the HTTP request fetching the data took 4,92 seconds. Conclusion, the problem you are having is how you handle your data on the server-side. Have you profiled your code to see what part is actually taking time? Is it the database queries, is it the code that manipulates the data, is it populating the container?

Quite fast here too, about 7 secs

I went and rewrote the MySQL and it cut the loading speed drastically. However I need this scale to massively large dataset.
Guess there is no way to cleverly cache the datasource within Vaadin itself. Thanks for checking out the link and reporting the load times!

Caching all data in the UI layer is a bad idea, especially if you have large data sets. What you should do is load data lazily on the UI layer (see
Viritin
or
Lazy Query Container
) and then
if needed
, apply caching in the data layer using a caching library such as
EhCache
.