Re: GWT compile keeps crashing on NVIDIA driver

2011-08-19 Thread Chris Lowe
Have you tried running the GWT compiler in headless mode?

http://java.sun.com/developer/technicalArticles/J2SE/Desktop/headless/

Basically, add the following JVM argument to your compilation step:

-Djava.awt.headless=true


Cheers,

Chris.


On Aug 19, 5:25 am, JIV fatcap@gmail.com wrote:
 Hello,
 i have small console app in GWT (2.3.0) which keeps crashing, like 80%
 of time during compile.
 Here is error:
 
 Java SE Platform SE binary has stopped working
 Problem signature:
   Problem Event Name:   BEX64
   Application Name:     java.exe
   Application Version:  6.0.260.3
   Application Timestamp:        4dc161a1
   Fault Module Name:    nvd3dumx.dll
   Fault Module Version: 7.15.11.7924
   Fault Module Timestamp:       4926fc72
   Exception Offset:     0037cc58
   Exception Code:       c409
   Exception Data:       
   OS Version:   6.1.7600.2.0.0.256.4
   Locale ID:    1051
   Additional Information 1:     03c5
   Additional Information 2:     03c56e3784e899c419091b341aed8c83
   Additional Information 3:     9845
   Additional Information 4:     98457f45ac1c35db8db0aad4f2c0b4cb
 
 As you can see problem is with NVIDIA dll driver, my question is why
 it use VGA driver during compile? Did someone had same problem as me?
 JIV

-- 
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: GWT compile keeps crashing on NVIDIA driver

2011-08-19 Thread Chris Lowe
I also saw this:

http://bugs.sun.com/view_bug.do?bug_id=6810745

Which suggests a workaround of specifying the JVM parameter:

-Dsun.java2d.d3d=false





On Aug 19, 2:27 pm, Chris Lowe chris.lowe...@gmail.com wrote:
 Have you tried running the GWT compiler in headless mode?

 http://java.sun.com/developer/technicalArticles/J2SE/Desktop/headless/

 Basically, add the following JVM argument to your compilation step:

 -Djava.awt.headless=true

 Cheers,

 Chris.

 On Aug 19, 5:25 am, JIV fatcap@gmail.com wrote:







  Hello,
  i have small console app in GWT (2.3.0) which keeps crashing, like 80%
  of time during compile.
  Here is error:
  
  Java SE Platform SE binary has stopped working
  Problem signature:
    Problem Event Name:   BEX64
    Application Name:     java.exe
    Application Version:  6.0.260.3
    Application Timestamp:        4dc161a1
    Fault Module Name:    nvd3dumx.dll
    Fault Module Version: 7.15.11.7924
    Fault Module Timestamp:       4926fc72
    Exception Offset:     0037cc58
    Exception Code:       c409
    Exception Data:       
    OS Version:   6.1.7600.2.0.0.256.4
    Locale ID:    1051
    Additional Information 1:     03c5
    Additional Information 2:     03c56e3784e899c419091b341aed8c83
    Additional Information 3:     9845
    Additional Information 4:     98457f45ac1c35db8db0aad4f2c0b4cb
  
  As you can see problem is with NVIDIA dll driver, my question is why
  it use VGA driver during compile? Did someone had same problem as me?
  JIV

-- 
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: SerializerBase.check(String,int) throws useless exception?

2010-06-17 Thread Chris Lowe
I just had to debug one of these errors.

I just set a break point where the exception is raised (i.e.
SerializerBase.java:161).  I ran my app in debug developer mode and
when I hit the breakpoint I was able to inspect the parent call in the
stack where there is a method parameter called instance.  This will
hopefully highlight the offending class where you should make sure it
follows Sri's previous recommendations.

I mostly get these errors where the RPC call is given a class which is
itself OK but has had a non-serialisable payload assigned to it
somewhere (e.g. as part of a Command pattern).  So, I'm not sure that
much can be done by the compiler to raise such conditions.  As a quick
method of getting the compiler to flag up possible RPC errors, I
modified the payloads for the offending commands to avoid vague types
like Object and instead used Serializable.  (I'd normally avoid
using Object but I'd inherited the code ;)

You're right though - the exception message for this error case is
unhelpful and should at least additionally use information from the
serialisation target instance where RPC type information is not
available.

Cheers,

Chris.


On May 31, 3:53 pm, svincent shawn.vinc...@gmail.com wrote:
 Greetings,

 I'm having a frustrating time debugging a bunch of code I'm trying to
 port to GWT.  There are various subtle serialization issues (not
 surprising, since GWT has its special rules).

 The real problem I'm running in to is that the exception I keep
 getting is this:

 com.google.gwt.user.client.rpc.SerializationException: null
     at
 com.google.gwt.user.client.rpc.impl.SerializerBase.check(SerializerBase.jav a:
 161)
     at
 com.google.gwt.user.client.rpc.impl.SerializerBase.serialize(SerializerBase 
 .java:
 145)
     at
 com.google.gwt.user.client.rpc.impl.ClientSerializationStreamWriter.seriali 
 ze(ClientSerializationStreamWriter.java:
 199)
 ...

 This exception is terrible: it doesn't tell me what class is having
 the trouble.  It tries to print out the 'typeSignature', but the
 typeSignature is null for classes with certain types of serialization
 issues.

 A couple of thoughts:

 1. it would be Really Nice if GWT could be changed to fix this
 exception to be more meaningful (at least include the class name
 that's having the trouble)

 2. Does anybody have tips on what to do when you get this exception?
 I've encountered one case: don't have fields of type java.lang.Object
 in your GWT Serializable classes.  Is there more?

 Thanks!
     -Shawn.

-- 
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-tool...@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: OOPHM is slow

2010-01-12 Thread Chris Lowe
Tim,

Are you filtering your Hibernate objects or translating them to DTOs (to
remove dynamic proxies etc) before serialising them?

If the answer is no to the above, then you might be falling foul to circular
references or Hibernate fetching more data than you expect.  As an
experiment, is it possible to try hardcoding some of your objects with a
minimal data set and see how your app performs?

Cheers,

Chris.




2010/1/12 Tim Mattison timmatti...@gmail.com

 I changed my debug level from Info to Debug and got lots of additional
 output but nothing that looked like it was the culprit.  My application runs
 like this:


 1) onModuleLoad is called, builds the UI, and fires off a GWT-RPC call

 2) The server receives the GWT-RPC call, connects to a Hibernate database,
 pulls some data (~150K) and sends it to the client

 3) The client receives the response and populates a FlexTable with the data


 Between 2 and 3 is where the storm of traffic occurs.  With the new debug
 level I don't really get much more insight since I see that Jetty has sent
 the response to the browser and that's it.  I have breakpoints set on my
 GWT-RPC callback's onFailure and onSuccess method and it doesn't get to
 either of those branches until minutes later.  Is there somewhere else I can
 look or something else I can try?


 The last message in the log before the storm:


 200 - POST /app/service (127.0.0.1) 165739 bytes

Request headers

   Host: localhost:

   User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US;
 rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7

   Accept:
 text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

   Accept-Language: en-us,en;q=0.5

   Accept-Encoding: gzip,deflate

   Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7

   Keep-Alive: 300

   Connection: keep-alive

   Cache-Control: no-cache

   Referer: http://localhost:/app/hosted.html?app

   X-GWT-Permutation: HostedMode

   X-GWT-Module-Base: http://localhost:/app/

   Content-Type: text/x-gwt-rpc; charset=utf-8

   Content-Length: 175

   Pragma: no-cache

Response headers

   Content-Encoding: gzip

   Content-Length: 165739

   Content-Type: application/json; charset=utf-8

   Content-Disposition: attachment


 The first message after it hits onSuccess and then keeps going at a normal
 speed:


 304 - GET /app/gwt/standard/images/hborder.png (127.0.0.1)

Request headers

   Host: localhost:

   User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US;
 rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7

   Accept: image/png,image/*;q=0.8,*/*;q=0.5

   Accept-Language: en-us,en;q=0.5

   Accept-Encoding: gzip,deflate

   Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7

   Keep-Alive: 300

   Connection: keep-alive

   Referer: http://localhost:/app/gwt/standard/standard.css

   If-Modified-Since: Tue, 03 Nov 2009 15:44:06 GMT

   Cache-Control: max-age=0

Response headers


 Any help would be great.


 Tim

 On Tue, Jan 12, 2010 at 3:04 PM, Chris Ramsdale cramsd...@google.comwrote:

 Although this smells of a network configuration issue, one suggestion you
 could try is to set the log level to Debug or lower.

 Debug-Debug Configurations-GWT-Log level.

 Try that, and let us know if anything suspect is output.

 - Chris

 On Mon, Jan 11, 2010 at 11:56 AM, timmattison timmatti...@gmail.comwrote:

 I just started using OOPHM on my Mac (10.6.2) and it is very, very
 slow.  I've tried all of the recommendations about changing the URL to
 include only localhost or 127.0.0.1 but I still have to wait
 nearly three minutes for my application to start.

 The program I'm writing is currently very small and only consists of
 less than 200 lines of code.  It does import a JAR that contains
 definitions of a lot of objects and has some dependencies (Gilead,
 Hibernate, GXT) for the server side components but right now I'm just
 using basic GWT components.  Does the size of the dependencies and
 included JARs matter?

 I ask because I notice that as soon as I start the application the
 traffic on port 9997 to and from my loopback interface is pegged at
 1.5MB/sec in each direction for the entire three minutes the
 application is starting up.  I stepped through my code with a debugger
 and the client side code gets set up, runs, then there's a three
 minute pause where all of this data goes back and forth, and then the
 server-side code runs.  The client and server side code takes less
 than 1 second to finish so I don't think it's a bug in my code.

 I tried to capture the traffic in Wireshark to figure out what is
 getting sent but it looks like all of the packets are very small (~56
 bytes) and trying to capture the whole session causes Wireshark to
 crash.

 Is anyone else seeing this loopback traffic problem?  I assumed maybe
 the debugger is communicating my dependencies to the OOPHM 

Re: OOPHM is slow

2010-01-12 Thread Chris Lowe
Hi Tim,

It's still conceivable for a circular reference (or at least massively
repeated objects) to be at play here.  Your response size is 165739 bytes
*compressed* size - many identical objects could compress to something
relatively small and their expansion could cause issues.  Also with
Hibernate you most likely won't see a lot of database traffic from repeated
objects as subsequent fetch requests will hit the session's level 1 cache.

A quicker test could be to temporarily disable gzip encoding in your
browser, for example here are instructions for FireFox:

http://kb.mozillazine.org/Network.http.accept-encoding

With gzip disabled, what size response does Jetty report?

BTW - which browser are you using?

Cheers,

Chris.







http://kb.mozillazine.org/Network.http.accept-encoding

2010/1/12 Tim Mattison timmatti...@gmail.com

 That's what I thought originally but I can see that it's only pulling back
 165739 bytes from the RPC.  When I don't return anything it turns out that
 it runs quickly so it obviously must be related to that.

 I'm not using DTOs but where is it trying to fetch the data from if it's
 not getting pulled back from the POST?  I don't see any traffic to the
 database server so it must be doing something weird locally (like a circular
 reference as you suggested).  Shouldn't it give up on circular references a
 bit faster than that if that's the case?

 Tim

 On Tue, Jan 12, 2010 at 3:56 PM, Chris Lowe chris.lowe...@gmail.comwrote:

 Tim,

 Are you filtering your Hibernate objects or translating them to DTOs (to
 remove dynamic proxies etc) before serialising them?

 If the answer is no to the above, then you might be falling foul to
 circular references or Hibernate fetching more data than you expect.  As an
 experiment, is it possible to try hardcoding some of your objects with a
 minimal data set and see how your app performs?

 Cheers,

 Chris.




 2010/1/12 Tim Mattison timmatti...@gmail.com

 I changed my debug level from Info to Debug and got lots of
 additional output but nothing that looked like it was the culprit.  My
 application runs like this:


 1) onModuleLoad is called, builds the UI, and fires off a GWT-RPC call

 2) The server receives the GWT-RPC call, connects to a Hibernate
 database, pulls some data (~150K) and sends it to the client

 3) The client receives the response and populates a FlexTable with the
 data


 Between 2 and 3 is where the storm of traffic occurs.  With the new debug
 level I don't really get much more insight since I see that Jetty has sent
 the response to the browser and that's it.  I have breakpoints set on my
 GWT-RPC callback's onFailure and onSuccess method and it doesn't get to
 either of those branches until minutes later.  Is there somewhere else I can
 look or something else I can try?


 The last message in the log before the storm:


 200 - POST /app/service (127.0.0.1) 165739 bytes

Request headers

   Host: localhost:

   User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US;
 rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7

   Accept:
 text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

   Accept-Language: en-us,en;q=0.5

   Accept-Encoding: gzip,deflate

   Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7

   Keep-Alive: 300

   Connection: keep-alive

   Cache-Control: no-cache

   Referer: http://localhost:/app/hosted.html?app

   X-GWT-Permutation: HostedMode

   X-GWT-Module-Base: http://localhost:/app/

   Content-Type: text/x-gwt-rpc; charset=utf-8

   Content-Length: 175

   Pragma: no-cache

Response headers

   Content-Encoding: gzip

   Content-Length: 165739

   Content-Type: application/json; charset=utf-8

   Content-Disposition: attachment


 The first message after it hits onSuccess and then keeps going at a
 normal speed:


 304 - GET /app/gwt/standard/images/hborder.png (127.0.0.1)

Request headers

   Host: localhost:

   User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US;
 rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7

   Accept: image/png,image/*;q=0.8,*/*;q=0.5

   Accept-Language: en-us,en;q=0.5

   Accept-Encoding: gzip,deflate

   Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7

   Keep-Alive: 300

   Connection: keep-alive

   Referer: http://localhost:/app/gwt/standard/standard.css

   If-Modified-Since: Tue, 03 Nov 2009 15:44:06 GMT

   Cache-Control: max-age=0

Response headers


 Any help would be great.


 Tim

 On Tue, Jan 12, 2010 at 3:04 PM, Chris Ramsdale cramsd...@google.comwrote:

 Although this smells of a network configuration issue, one suggestion
 you could try is to set the log level to Debug or lower.

 Debug-Debug Configurations-GWT-Log level.

 Try that, and let us know if anything suspect is output.

 - Chris

 On Mon, Jan 11, 2010 at 11:56 AM, timmattison timmatti...@gmail.comwrote:

 I just

Re: Increased compile resource performance[excluding draftCompile] with single perm

2009-12-17 Thread Chris Lowe
Will you be giving the -XX:+UseCompressedOops option a try when on the
64-bit JVM?  I'd be interested to hear about your experiences.

Good luck.

C.



On Dec 17, 6:20 am, Gerhard Davids glacieredp...@gmail.com wrote:
 Hi,

 Thanks for all the responses.
 The build tips surely helps Lukas.

 Yeah the whole 2m stack space issue may have been resolved but to be
 perfectly honest I don't feel safe yet.
 I have found that I will have to resort to upgrading to a 64bit os and
 or JVM.
 I dont really need the EC2 as I have a very decent build server that
 can handle the load.

 Its just a shlep(and slow) to commit to our source control and get
 from the server etc.. etc..

 I'll post my experience once I have upgraded to 64 bit.

 Thanks again for the responses.

 On Dec 15, 4:06 pm, Lukas Herman herni...@gmail.com wrote:



  SOYC option on large project takes immense amount of memory and hdd
  space. However, runAsync splitting is compiled properly without -
  draftCompile switch.
  I have ended with -Xmx32768m java memory for GWT Compiler using -soyc
  command line switch (i guess 8GB+ is sufficient). The generated files
  took over 2GB space on the hdd, and it took over 40 minutes to
  finish.
  There are 130 split points.
  Normal, production build takes less than 2 minutes per iteration.

  Hope this helps.

  Lucas

  On 15 pro, 10:05, Gerhard Davids glacieredp...@gmail.com wrote:

   Hi Folks,

   I'm currently sitting with my hair in my hands.

   Before I ask my question I'll provide some info on the work I'm doing
   related to the question:

   I am working on massive(MASSIVE) enterprise GWT[2.0] application.
   The app currently consists of 3 java projects of which one is GWT(with
   entry point) and the other two are common type of lib's used by the
   main GWT app. The app also uses Ext-gwt[GXT]

   Now when compiling we use 2.1gig of Xmx and 2m of Xss - Build Server.
   This takes about 30 minutes on our build server(get it now? MASSIVE!)

   Righto, so here's the question :

   How can I speed up my local machine memory footprint?
   I have set the project to compile only one permutation (ie8).
   I provide 2m Xss and 1500(+/-) Xmx This still fails with
   OutOfMemoryException and I cant provide it with more due to my x86 OS.
   With GWT 1.7 i was still able to pull of a build locally albeit slow.

   DraftCompile is not an option as I want to do IE performance testing
   with gwt 2.0 as well as soyc and runAsync.

   On the up side... I do get a partial soyc but i can't pump my war onto
   apache because the compile never finishes.
   I've read around and it seems i cant split the 3 projects as GWT
   compilable modules that work as one.

   Any ideas?

--

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-tool...@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: Timezone offset in GWT

2009-12-15 Thread Chris Lowe
Hi Vikas,

Have a look here:

http://groups.google.com/group/google-web-toolkit/browse_thread/thread/6e39577098a87d9f/5bd043c41dc7d37c?q=

The method from the second post should get you what you need.

Cheers,

Chris.


On Dec 14, 1:28 pm, Vikas vikas.m.ya...@gmail.com wrote:
 How to get timezone offset in GWT?

 In Java we're getting timezone offset by following way, but this is
 not possible in GWT because Java's 'Calendar' object is not accessible
 in GWT.

     public static int getOffsetDiff()
     {
         final Calendar cal = Calendar.getInstance(TimeZone.getDefault
 ());
         return (cal.get(Calendar.ZONE_OFFSET) + cal.get
 (Calendar.DST_OFFSET)) / 1000;
     }

 Thanks in advance,
 Vikas

--

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-tool...@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: Cannot find generated I18 UiBinder Files

2009-12-15 Thread Chris Lowe
There is now a case relating to this:

http://code.google.com/p/google-web-toolkit/issues/detail?id=4355

Add you're vote if this is important to you.

Cheers,

C.


On Dec 14, 10:13 pm, Chris Lowe chris.lowe...@gmail.com wrote:
 Right - I only found a .properties file in my project's extras folder
 if the -soyc compiler option had been added or if I explicitly
 specified the extra directory location using -extra.  Without either
 of these explicit compile time parameters I get *no* properties file.

 Also beware of the generateFilename attribute. Yes a different
 properties file is _generated_, but the associated Message interface
 does not use it so you still have to rename the properties file back
 to the default naming convention and place a copy located in the same
 location as the .ui.xml in order for it to be picked up at _runtime_.


 I finally have some UiBinder code using i18n but it needed a
 frustrating mix of guesswork and picking through generated assets to
 get there - hopefully the documentation will be amended soon.

 Cheers,

 Chris.

 On Dec 12, 3:42 pm, Chris Lowe chris.lowe...@gmail.com wrote:



  I'm still not having any luck with this.  I've seen the comments by
  rjrjr on the UiBinderI18n wiki:

 http://code.google.com/p/google-web-toolkit/wiki/UiBinderI18n

  @benzheren, yes, and sorry it doesn't yet do the extra bit by
  default. I think the best thing to do is add these attributes to your
  root ui:UiBinder element:

      ui:generateLocales=default

  ui:generateKeys=com.google.gwt.i18n.rebind.keygen.MD5KeyGenerator

  ui:generateFormat='com.google.gwt.i18n.rebind.format.PropertiesFormat'
  This will generate a .properties file for each template (look for it
  in the package's -aux directory, e.g. com.me.my.app-aux/
  com.me.my.app.MyWidgetImplGenMessages?.properties). These particular
  settings will make the name of each message string an MD5 hash of its
  contents, so that your translations won't get mis-mapped as things
  move within the template.

  At risk of sounding like a lemon, I cannot find the aux folder
  anywhere - is this something that should be generated automatically?
  From my first post, the compile output suggests that I should have a
  file called
  com.example.client.MainViewMainViewUiBinderImplGenMessages.properties (or
  at least a file called
  MainViewMainViewUiBinderImplGenMessages.properties) sitting
  somewhere but even a search of all files using the following from
  cygwin does not reveal anything:

  $ find /cygdrive/c -iname *MainView*.properties 2 /dev/null

  (Yields nothing)

  Can anyone offer me any tips for tracking this down?

  Cheers,

  Chris.

  On Dec 10, 2:39 pm, Chris Lowe chris.lowe...@gmail.com wrote:

   I've been trying to test the I18 features of UiBinder but I cannot
   locate the generated properties file.

   My procedure is this:

   * Generate a new GWT 2.0 project called I18Test, with a package called
   com.example

   * Using the plugin, add a UiBinder asset called MainView to
   com.example.client.  I amended the generated code as follows:

   !DOCTYPE ui:UiBinder SYSTEM http://dl.google.com/gwt/DTD/xhtml.ent;
   ui:UiBinder xmlns:ui=urn:ui:com.google.gwt.uibinder
           xmlns:g=urn:import:com.google.gwt.user.client.ui

   ui:generateFormat='com.google.gwt.i18n.rebind.format.PropertiesFormat'

   ui:generateKeys=com.google.gwt.i18n.rebind.keygen.MD5KeyGenerator
       ui:generateLocales=default
           ui:style
                   .important {
                           font-weight: bold;
                   }
           /ui:style
           g:HTMLPanel
                   ui:msg description=Hello messageHello/ui:msg,
                   g:Button styleName={style.important} ui:field=button 
   /
           /g:HTMLPanel
   /ui:UiBinder

   * As a quick hack just to get the panel to show, I just amended the
   generated module entry point to add the following:

   RootPanel.get(sendButtonContainer).add(new MainView(Click me));

   * When I run the app, everything appears okay.  When I compile, I get
   a message reporting that a file called
   com.example.client.MainViewMainViewUiBinderImplGenMessages.properties
   has been generated:

   Compiling module com.example.I18Test
      Scanning for additional dependencies:
   generated://4B78699A3BEB50FB1BC134587BCF4F2F/com/example/client/MainView_Ma
inViewUiBinderImpl.java
         Computing all possible rebind results for
   'com.example.client.MainViewMainViewUiBinderImplGenMessages'
            Rebinding
   com.example.client.MainViewMainViewUiBinderImplGenMessages
               Invoking
   com.google.gwt.dev.javac.standardgeneratorcont...@39f3bb
                  Generating
   com.example.client.MainViewMainViewUiBinderImplGenMessages.properties
   from MainViewMainViewUiBinderImplGenMessages_ for locale default
      Compiling 6 permutations
         Compiling permutation 0...
         Compiling permutation 1...
         Compiling permutation 2

Re: Cannot find generated I18 UiBinder Files

2009-12-15 Thread Chris Lowe
Damn typo -  you're = your

On Dec 15, 9:54 am, Chris Lowe chris.lowe...@gmail.com wrote:
 There is now a case relating to this:

 http://code.google.com/p/google-web-toolkit/issues/detail?id=4355

 Add you're vote if this is important to you.

 Cheers,

 C.

 On Dec 14, 10:13 pm, Chris Lowe chris.lowe...@gmail.com wrote:



  Right - I only found a .properties file in my project's extras folder
  if the -soyc compiler option had been added or if I explicitly
  specified the extra directory location using -extra.  Without either
  of these explicit compile time parameters I get *no* properties file.

  Also beware of the generateFilename attribute. Yes a different
  properties file is _generated_, but the associated Message interface
  does not use it so you still have to rename the properties file back
  to the default naming convention and place a copy located in the same
  location as the .ui.xml in order for it to be picked up at _runtime_.

  I finally have some UiBinder code using i18n but it needed a
  frustrating mix of guesswork and picking through generated assets to
  get there - hopefully the documentation will be amended soon.

  Cheers,

  Chris.

  On Dec 12, 3:42 pm, Chris Lowe chris.lowe...@gmail.com wrote:

   I'm still not having any luck with this.  I've seen the comments by
   rjrjr on the UiBinderI18n wiki:

  http://code.google.com/p/google-web-toolkit/wiki/UiBinderI18n

   @benzheren, yes, and sorry it doesn't yet do the extra bit by
   default. I think the best thing to do is add these attributes to your
   root ui:UiBinder element:

       ui:generateLocales=default

   ui:generateKeys=com.google.gwt.i18n.rebind.keygen.MD5KeyGenerator

   ui:generateFormat='com.google.gwt.i18n.rebind.format.PropertiesFormat'
   This will generate a .properties file for each template (look for it
   in the package's -aux directory, e.g. com.me.my.app-aux/
   com.me.my.app.MyWidgetImplGenMessages?.properties). These particular
   settings will make the name of each message string an MD5 hash of its
   contents, so that your translations won't get mis-mapped as things
   move within the template.

   At risk of sounding like a lemon, I cannot find the aux folder
   anywhere - is this something that should be generated automatically?
   From my first post, the compile output suggests that I should have a
   file called
   com.example.client.MainViewMainViewUiBinderImplGenMessages.properties 
   (or
   at least a file called
   MainViewMainViewUiBinderImplGenMessages.properties) sitting
   somewhere but even a search of all files using the following from
   cygwin does not reveal anything:

   $ find /cygdrive/c -iname *MainView*.properties 2 /dev/null

   (Yields nothing)

   Can anyone offer me any tips for tracking this down?

   Cheers,

   Chris.

   On Dec 10, 2:39 pm, Chris Lowe chris.lowe...@gmail.com wrote:

I've been trying to test the I18 features of UiBinder but I cannot
locate the generated properties file.

My procedure is this:

* Generate a new GWT 2.0 project called I18Test, with a package called
com.example

* Using the plugin, add a UiBinder asset called MainView to
com.example.client.  I amended the generated code as follows:

!DOCTYPE ui:UiBinder SYSTEM http://dl.google.com/gwt/DTD/xhtml.ent;
ui:UiBinder xmlns:ui=urn:ui:com.google.gwt.uibinder
        xmlns:g=urn:import:com.google.gwt.user.client.ui

ui:generateFormat='com.google.gwt.i18n.rebind.format.PropertiesFormat'

ui:generateKeys=com.google.gwt.i18n.rebind.keygen.MD5KeyGenerator
    ui:generateLocales=default
        ui:style
                .important {
                        font-weight: bold;
                }
        /ui:style
        g:HTMLPanel
                ui:msg description=Hello messageHello/ui:msg,
                g:Button styleName={style.important} 
ui:field=button /
        /g:HTMLPanel
/ui:UiBinder

* As a quick hack just to get the panel to show, I just amended the
generated module entry point to add the following:

RootPanel.get(sendButtonContainer).add(new MainView(Click me));

* When I run the app, everything appears okay.  When I compile, I get
a message reporting that a file called
com.example.client.MainViewMainViewUiBinderImplGenMessages.properties
has been generated:

Compiling module com.example.I18Test
   Scanning for additional dependencies:
generated://4B78699A3BEB50FB1BC134587BCF4F2F/com/example/client/MainView_Ma
 inViewUiBinderImpl.java
      Computing all possible rebind results for
'com.example.client.MainViewMainViewUiBinderImplGenMessages'
         Rebinding
com.example.client.MainViewMainViewUiBinderImplGenMessages
            Invoking
com.google.gwt.dev.javac.standardgeneratorcont...@39f3bb
               Generating
com.example.client.MainViewMainViewUiBinderImplGenMessages.properties
from

Re: Increased compile resource performance[excluding draftCompile] with single perm

2009-12-15 Thread Chris Lowe
Are you sure that you need the 2mb stack?  I seem to recall there was
a problem a while back with stack overflows resulting in some people
suggesting large stacks.  I think that's been fixed now.

Are you using a 32 or 64 bit JVM?

What are the exact compiler and JVM arguments you are using?

Cheers,

C.


On Dec 15, 9:05 am, Gerhard Davids glacieredp...@gmail.com wrote:
 Hi Folks,

 I'm currently sitting with my hair in my hands.

 Before I ask my question I'll provide some info on the work I'm doing
 related to the question:

 I am working on massive(MASSIVE) enterprise GWT[2.0] application.
 The app currently consists of 3 java projects of which one is GWT(with
 entry point) and the other two are common type of lib's used by the
 main GWT app. The app also uses Ext-gwt[GXT]

 Now when compiling we use 2.1gig of Xmx and 2m of Xss - Build Server.
 This takes about 30 minutes on our build server(get it now? MASSIVE!)

 Righto, so here's the question :

 How can I speed up my local machine memory footprint?
 I have set the project to compile only one permutation (ie8).
 I provide 2m Xss and 1500(+/-) Xmx This still fails with
 OutOfMemoryException and I cant provide it with more due to my x86 OS.
 With GWT 1.7 i was still able to pull of a build locally albeit slow.

 DraftCompile is not an option as I want to do IE performance testing
 with gwt 2.0 as well as soyc and runAsync.

 On the up side... I do get a partial soyc but i can't pump my war onto
 apache because the compile never finishes.
 I've read around and it seems i cant split the 3 projects as GWT
 compilable modules that work as one.

 Any ideas?

--

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-tool...@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: Is for each loop faster than for loop?

2009-12-15 Thread Chris Lowe
You could try compiling with the Pretty or Detailed options and
examine the javascript?

On Dec 15, 6:29 pm, flyingb...@gmail.com flyingb...@gmail.com
wrote:
 Just wondering what is a better way to code. Using for each loops or
 for loops?

 I am wondering will the resulting javascript be different.

--

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-tool...@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: Increased compile resource performance[excluding draftCompile] with single perm

2009-12-15 Thread Chris Lowe
Yikes, that's a lot of memory!

I missed the note regarding x86 in the OP, so that puts you on a
32bit JVM.

Have you thought about renting a High Memory EC2 instance over at AWS
for a couple of hours?

C.

On Dec 15, 2:06 pm, Lukas Herman herni...@gmail.com wrote:
 SOYC option on large project takes immense amount of memory and hdd
 space. However, runAsync splitting is compiled properly without -
 draftCompile switch.
 I have ended with -Xmx32768m java memory for GWT Compiler using -soyc
 command line switch (i guess 8GB+ is sufficient). The generated files
 took over 2GB space on the hdd, and it took over 40 minutes to
 finish.
 There are 130 split points.
 Normal, production build takes less than 2 minutes per iteration.

 Hope this helps.

 Lucas

 On 15 pro, 10:05, Gerhard Davids glacieredp...@gmail.com wrote:



  Hi Folks,

  I'm currently sitting with my hair in my hands.

  Before I ask my question I'll provide some info on the work I'm doing
  related to the question:

  I am working on massive(MASSIVE) enterprise GWT[2.0] application.
  The app currently consists of 3 java projects of which one is GWT(with
  entry point) and the other two are common type of lib's used by the
  main GWT app. The app also uses Ext-gwt[GXT]

  Now when compiling we use 2.1gig of Xmx and 2m of Xss - Build Server.
  This takes about 30 minutes on our build server(get it now? MASSIVE!)

  Righto, so here's the question :

  How can I speed up my local machine memory footprint?
  I have set the project to compile only one permutation (ie8).
  I provide 2m Xss and 1500(+/-) Xmx This still fails with
  OutOfMemoryException and I cant provide it with more due to my x86 OS.
  With GWT 1.7 i was still able to pull of a build locally albeit slow.

  DraftCompile is not an option as I want to do IE performance testing
  with gwt 2.0 as well as soyc and runAsync.

  On the up side... I do get a partial soyc but i can't pump my war onto
  apache because the compile never finishes.
  I've read around and it seems i cant split the 3 projects as GWT
  compilable modules that work as one.

  Any ideas?

--

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-tool...@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: Is for each loop faster than for loop?

2009-12-15 Thread Chris Lowe
If you're using the Eclipse plugin, then select compile button from
the toolbar and you'll find the output option on the compile options
dialog.  The resulting output files will show more readable
javascript.



On Dec 15, 6:58 pm, flyingb...@gmail.com flyingb...@gmail.com
wrote:
 Well i just ran test i not sure how to compile out differently but it
 seems like for each loop is slow.

 - For Each Loop ---

 Start: 1260903435636
 End: 1260903435648
 ForEach - Elapsed time in milliseconds: 12

 ---END---

 - Iterator Loop ---

 Start: 1260903435648
 End: 1260903435656
 Iterator - Elapsed time in milliseconds: 8

 ---END---

 - For Loop 

 Start: 1260903435656
 End: 1260903435662
 For - Elapsed time in milliseconds: 6

 ---END---

 - While Loop ---

 Start: 1260903435662
 End: 1260903435668
 While - Elapsed time in milliseconds: 6

 ---END---

 Using the code

 [code]
 package com.ottocap.NewWorkFlow.client.Widget;

 import java.util.Arrays;
 import java.util.Date;
 import java.util.Iterator;
 import java.util.List;

 public class ArrayToList {
   public ArrayToList() {

           String sArray[] = createArray();

           //convert array to list
           List lList = Arrays.asList(sArray);

           System.out.println(\n- For Each Loop ---\n);
           long lForEachStartTime = new Date().getTime();
           System.out.println(Start:  + lForEachStartTime);

           //for loop
           for (Object thestring: lList){
                   String stemp = (String)thestring;
           }

           long lForEachEndTime = new Date().getTime();
           System.out.println(End:  + lForEachEndTime);

           long lForEachDifference = lForEachEndTime - lForEachStartTime;
           System.out.println(ForEach - Elapsed time in milliseconds:  +
 lForEachDifference);

           System.out.println(\n---END---);

           System.out.println(\n- Iterator Loop ---\n);
           long lIteratorStartTime = new Date().getTime();
           System.out.println(Start:  + lIteratorStartTime);

           //iterator loop
           IteratorString iterator = lList.iterator();
           while ( iterator.hasNext() ){
               String stemp = iterator.next();
           }
           long lIteratorEndTime = new Date().getTime();
           System.out.println(End:  + lIteratorEndTime);

           long lIteratorDifference = lIteratorEndTime - lIteratorStartTime;
           System.out.println(Iterator - Elapsed time in milliseconds:  +
 lIteratorDifference);

           System.out.println(\n---END---);

           System.out.println(\n- For Loop \n);
           long lForStartTime = new Date().getTime();
           System.out.println(Start:  + lForStartTime);

           //for loop
           for (int i=0; i lList.size(); i++){
                   String stemp = (String)lList.get(i);
           }

           long lForEndTime = new Date().getTime();
           System.out.println(End:  + lForEndTime);

           long lForDifference = lForEndTime - lForStartTime;
           System.out.println(For - Elapsed time in milliseconds:  +
 lForDifference);

           System.out.println(\n---END---);

           System.out.println(\n- While Loop ---\n);
           long lWhileStartTime = new Date().getTime();
           System.out.println(Start:  + lWhileStartTime);

           //while loop
           int j=0;
           while (j lList.size())
           {
                   String stemp = (String)lList.get(j);
                   j++;
           }
           long lWhileEndTime = new Date().getTime();
           System.out.println(End:  + lWhileEndTime);

           long lWhileDifference = lWhileEndTime - lWhileStartTime;
           System.out.println(While - Elapsed time in milliseconds:  +
 lWhileDifference);

           System.out.println(\n---END---);

   }

   static String [] createArray(){

           String sArray[] = new String [15];

           for(int i=0; i15; i++)
                   sArray[i] = Array  + i;

           return sArray;
   }}

 [/code]

 On Dec 15, 10:43 am, Chris Lowe chris.lowe...@gmail.com wrote:



  You could try compiling with the Pretty or Detailed options and
  examine the javascript?

  On Dec 15, 6:29 pm, flyingb...@gmail.com flyingb...@gmail.com
  wrote:

   Just wondering what is a better way to code. Using for each loops or
   for loops?

   I am wondering will the resulting javascript be different.

--

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-tool...@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: Cannot find generated I18 UiBinder Files

2009-12-14 Thread Chris Lowe
Right - I only found a .properties file in my project's extras folder
if the -soyc compiler option had been added or if I explicitly
specified the extra directory location using -extra.  Without either
of these explicit compile time parameters I get *no* properties file.

Also beware of the generateFilename attribute. Yes a different
properties file is _generated_, but the associated Message interface
does not use it so you still have to rename the properties file back
to the default naming convention and place a copy located in the same
location as the .ui.xml in order for it to be picked up at _runtime_.

I finally have some UiBinder code using i18n but it needed a
frustrating mix of guesswork and picking through generated assets to
get there - hopefully the documentation will be amended soon.

Cheers,

Chris.

On Dec 12, 3:42 pm, Chris Lowe chris.lowe...@gmail.com wrote:
 I'm still not having any luck with this.  I've seen the comments by
 rjrjr on the UiBinderI18n wiki:

 http://code.google.com/p/google-web-toolkit/wiki/UiBinderI18n

 @benzheren, yes, and sorry it doesn't yet do the extra bit by
 default. I think the best thing to do is add these attributes to your
 root ui:UiBinder element:

     ui:generateLocales=default

 ui:generateKeys=com.google.gwt.i18n.rebind.keygen.MD5KeyGenerator

 ui:generateFormat='com.google.gwt.i18n.rebind.format.PropertiesFormat'
 This will generate a .properties file for each template (look for it
 in the package's -aux directory, e.g. com.me.my.app-aux/
 com.me.my.app.MyWidgetImplGenMessages?.properties). These particular
 settings will make the name of each message string an MD5 hash of its
 contents, so that your translations won't get mis-mapped as things
 move within the template.

 At risk of sounding like a lemon, I cannot find the aux folder
 anywhere - is this something that should be generated automatically?
 From my first post, the compile output suggests that I should have a
 file called
 com.example.client.MainViewMainViewUiBinderImplGenMessages.properties (or
 at least a file called
 MainViewMainViewUiBinderImplGenMessages.properties) sitting
 somewhere but even a search of all files using the following from
 cygwin does not reveal anything:

 $ find /cygdrive/c -iname *MainView*.properties 2 /dev/null

 (Yields nothing)

 Can anyone offer me any tips for tracking this down?

 Cheers,

 Chris.

 On Dec 10, 2:39 pm, Chris Lowe chris.lowe...@gmail.com wrote:



  I've been trying to test the I18 features of UiBinder but I cannot
  locate the generated properties file.

  My procedure is this:

  * Generate a new GWT 2.0 project called I18Test, with a package called
  com.example

  * Using the plugin, add a UiBinder asset called MainView to
  com.example.client.  I amended the generated code as follows:

  !DOCTYPE ui:UiBinder SYSTEM http://dl.google.com/gwt/DTD/xhtml.ent;
  ui:UiBinder xmlns:ui=urn:ui:com.google.gwt.uibinder
          xmlns:g=urn:import:com.google.gwt.user.client.ui

  ui:generateFormat='com.google.gwt.i18n.rebind.format.PropertiesFormat'

  ui:generateKeys=com.google.gwt.i18n.rebind.keygen.MD5KeyGenerator
      ui:generateLocales=default
          ui:style
                  .important {
                          font-weight: bold;
                  }
          /ui:style
          g:HTMLPanel
                  ui:msg description=Hello messageHello/ui:msg,
                  g:Button styleName={style.important} ui:field=button /
          /g:HTMLPanel
  /ui:UiBinder

  * As a quick hack just to get the panel to show, I just amended the
  generated module entry point to add the following:

  RootPanel.get(sendButtonContainer).add(new MainView(Click me));

  * When I run the app, everything appears okay.  When I compile, I get
  a message reporting that a file called
  com.example.client.MainViewMainViewUiBinderImplGenMessages.properties
  has been generated:

  Compiling module com.example.I18Test
     Scanning for additional dependencies:
  generated://4B78699A3BEB50FB1BC134587BCF4F2F/com/example/client/MainView_Ma 
  inViewUiBinderImpl.java
        Computing all possible rebind results for
  'com.example.client.MainViewMainViewUiBinderImplGenMessages'
           Rebinding
  com.example.client.MainViewMainViewUiBinderImplGenMessages
              Invoking
  com.google.gwt.dev.javac.standardgeneratorcont...@39f3bb
                 Generating
  com.example.client.MainViewMainViewUiBinderImplGenMessages.properties
  from MainViewMainViewUiBinderImplGenMessages_ for locale default
     Compiling 6 permutations
        Compiling permutation 0...
        Compiling permutation 1...
        Compiling permutation 2...
        Compiling permutation 3...
        Compiling permutation 4...
        Compiling permutation 5...
     Compile of permutations succeeded
  Linking into C:\Users\lowec\workspace\I18Test\war\i18test.
     Link succeeded
     Compilation succeeded -- 29.125s

  However, I cannot find this file anywhere!  Are there any more steps

Re: OOPHM is slow

2009-12-13 Thread Chris Lowe
Something else I've just noticed - if you have an AV product installed
then check its activity when refreshing your GWT app in OOPHM.  I have
Kaspersky Internet Security installed and it was taking a load of CPU
and its memory usage shot up to 300mb during app refreshes.  Once I
had configured it to completely ignore my developer instance of
FireFox, my app refreshes dropped from 16 seconds to 9.

On Dec 12, 5:43 pm, Chris Lowe chris.lowe...@gmail.com wrote:
 Actually, for now, the FireFox plugin seems to be *much* quicker that
 Chrome's.

 On Dec 12, 3:20 pm, Chris Lowe chris.lowe...@gmail.com wrote:



  Hi guys,

  I too have been stung by these performance issues and, although things
  are not yet as good as they can be, I found the following helpful:

  Make sure localhost is defined in your /etc/hosts file.  More info
  here:

 http://groups.google.com/group/google-web-toolkit-contributors/browse...

  I'm actually on Windows 7 and it turns out that the default behaviour
  now is to leave the definition of localhost to DNS.  For me, adding an
  explicit definition of localhost to C:\Windows\System32\drivers\etc
  \hosts improved things (at least I think so - or maybe it's my
  perception?!).

  Also, if you're using Chrome then the dev channel has recently been
  updated to version 4.0.266.0  (check this via About Google Chrome on
  the tools menu).  Upgrading to the latest version also made a positive
  difference.

  Finally, you may be able to change your app to help performance.
  Obviously this will not be a realistic option for many, but I found
  that the CPU cycles are burned processing my app code, albeit rather
  inefficiently at this stage.  Nonetheless, the slow performance is a
  massive exaggeration of my app performance.  A quick scout through my
  code revealed several opportunities for introducing lazy
  initialisation and eliminating some third party libraries, so making
  some changes to my app also made a big difference to the speed of
  development.

  As I said, still not ideal, but I hope these issues will be resolved
  soon.

  Cheers,

  Chris.

  On Dec 7, 12:29 am, keyvez key...@gmail.com wrote:

   Hi,

   I am experiencing really slow times (30-40 seconds) when I refresh the
   page on safari or firefox. It almost seems to recompile the full app
   every single time I hit refresh. I don't even change anything, and
   this the app you get when you create new Web App in eclipse. Meanwhile
   the browser hangs like it's supposed to when making a synchronous
   server request.

   Specs: Eclipse 3.5, Mac OS 10.6, Java 6 64-bit (tried with 32-bit 5
   and 6), GWT 2.0 RC2 and GPE 1.2 RC2 (tried RC1 for both of those too.

   And running it with the -Dgwt=perflog=true VM argument I receive this:

   perf? OophmSessionHandler?.loadModule Main 838ms

   perf? ModuleDef?.refresh 35ms
   perf? ResourceOracleImpl?.refresh 1ms
   perf? ResourceOracleImpl?.refresh 23ms
   perf? ResourceOracleImpl?.refresh 9ms
   perf? TypeOracleMediator?.addNewUnits 165ms
   perf? ModuleSpace?.onLoad 511ms
   perf? Generator 'com.google.gwt.uibinder.rebind.UiBinderGenerator?'
   produced 'com.company.mypackage.web.client.Application.Binder' 21ms
   perf? TypeOracleMediator?.addNewUnits 0ms
   perf? Generator
   'com.google.gwt.resources.rebind.context.InlineClientBundleGenerator?'
   produced
   'com.company.mypackage.web.client.Application_BinderImpl_GenBundle?'
   4ms
   perf? TypeOracleMediator?.addNewUnits 0ms
   perf? Generator 'com.google.gwt.i18n.rebind.LocaleInfoGenerator?'
   produced 'com.google.gwt.i18n.client.impl.LocaleInfoImpl?' 14ms
   perf? TypeOracleMediator?.addNewUnits 0ms
   perf? Generator 'com.google.gwt.i18n.rebind.LocalizableGenerator?'
   produced 'com.google.gwt.i18n.client.impl.CldrImpl?' 0ms

   Which doesn't tell me where the 30-40 seconds are being spent.

   Any help would be greatly appreciated.

   Thanks,
   Gaurav

   On Nov 8, 1:31 pm, lowecg2004 chris.lowe...@gmail.com wrote:

Hi Andrey,

The initial load can be fairlyslowbut after the first load, are you
using the hosted browser's refresh button?  This will make subsequent
loads much quicker.

Cheers,

Chris.

On Nov 8, 8:21 am, Andrey mino...@gmail.com wrote:

 Hello!

 WhyOOPHM(and in before hosted mode) is soslow?
 My application takes about 30-40 sec to start inOOPHM.

 I am using GXT. System is: Intel Core 2 Duo 2.4 GHz, 4 Gb RAM.
 I've reduced number of remote services from 20 to 3, but it didn't
 help a lot.

 What takes so much time?

 Am I right that is verification of the code to conform GWT's Java
 language subset?
 So, why not make a checkbox don't verify code to give an opportunity
 to run code fast and check it only periodically, say once a day.

 Thanks in advance!

 Andrey

--

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

Re: OOPHM is slow

2009-12-13 Thread Chris Lowe
And another thing (sorry if these updates are getting excessive)

Even despite the previous tweaks, Firefox was using some high levels
CPU on app refreshes; I noticed that there was an addon installed as
part of my Kaspersky installation called Kaspersky URL Advisor plus
a few other plugins that I generally use from day to day.  After the
difference that configuring Kaspersky made in the last post, I was
immediately suspicious of this.

To eliminate these from FireFox I created a new blank profile for GWT
development.  To create a new profile launch firefox with the -
ProfileManager flag and you will get a GUI to, well, manage your
profiles.

In the new profile, I cleared out all default addons and installed
only the GWT developer plugin and Firebug.  Now my application
refreshes in 5 seconds - much, much better!




On Dec 13, 10:08 pm, Chris Lowe chris.lowe...@gmail.com wrote:
 Something else I've just noticed - if you have an AV product installed
 then check its activity when refreshing your GWT app in OOPHM.  I have
 Kaspersky Internet Security installed and it was taking a load of CPU
 and its memory usage shot up to 300mb during app refreshes.  Once I
 had configured it to completely ignore my developer instance of
 FireFox, my app refreshes dropped from 16 seconds to 9.

 On Dec 12, 5:43 pm, Chris Lowe chris.lowe...@gmail.com wrote:



  Actually, for now, the FireFox plugin seems to be *much* quicker that
  Chrome's.

  On Dec 12, 3:20 pm, Chris Lowe chris.lowe...@gmail.com wrote:

   Hi guys,

   I too have been stung by these performance issues and, although things
   are not yet as good as they can be, I found the following helpful:

   Make sure localhost is defined in your /etc/hosts file.  More info
   here:

  http://groups.google.com/group/google-web-toolkit-contributors/browse...

   I'm actually on Windows 7 and it turns out that the default behaviour
   now is to leave the definition of localhost to DNS.  For me, adding an
   explicit definition of localhost to C:\Windows\System32\drivers\etc
   \hosts improved things (at least I think so - or maybe it's my
   perception?!).

   Also, if you're using Chrome then the dev channel has recently been
   updated to version 4.0.266.0  (check this via About Google Chrome on
   the tools menu).  Upgrading to the latest version also made a positive
   difference.

   Finally, you may be able to change your app to help performance.
   Obviously this will not be a realistic option for many, but I found
   that the CPU cycles are burned processing my app code, albeit rather
   inefficiently at this stage.  Nonetheless, the slow performance is a
   massive exaggeration of my app performance.  A quick scout through my
   code revealed several opportunities for introducing lazy
   initialisation and eliminating some third party libraries, so making
   some changes to my app also made a big difference to the speed of
   development.

   As I said, still not ideal, but I hope these issues will be resolved
   soon.

   Cheers,

   Chris.

   On Dec 7, 12:29 am, keyvez key...@gmail.com wrote:

Hi,

I am experiencing really slow times (30-40 seconds) when I refresh the
page on safari or firefox. It almost seems to recompile the full app
every single time I hit refresh. I don't even change anything, and
this the app you get when you create new Web App in eclipse. Meanwhile
the browser hangs like it's supposed to when making a synchronous
server request.

Specs: Eclipse 3.5, Mac OS 10.6, Java 6 64-bit (tried with 32-bit 5
and 6), GWT 2.0 RC2 and GPE 1.2 RC2 (tried RC1 for both of those too.

And running it with the -Dgwt=perflog=true VM argument I receive this:

perf? OophmSessionHandler?.loadModule Main 838ms

perf? ModuleDef?.refresh 35ms
perf? ResourceOracleImpl?.refresh 1ms
perf? ResourceOracleImpl?.refresh 23ms
perf? ResourceOracleImpl?.refresh 9ms
perf? TypeOracleMediator?.addNewUnits 165ms
perf? ModuleSpace?.onLoad 511ms
perf? Generator 'com.google.gwt.uibinder.rebind.UiBinderGenerator?'
produced 'com.company.mypackage.web.client.Application.Binder' 21ms
perf? TypeOracleMediator?.addNewUnits 0ms
perf? Generator
'com.google.gwt.resources.rebind.context.InlineClientBundleGenerator?'
produced
'com.company.mypackage.web.client.Application_BinderImpl_GenBundle?'
4ms
perf? TypeOracleMediator?.addNewUnits 0ms
perf? Generator 'com.google.gwt.i18n.rebind.LocaleInfoGenerator?'
produced 'com.google.gwt.i18n.client.impl.LocaleInfoImpl?' 14ms
perf? TypeOracleMediator?.addNewUnits 0ms
perf? Generator 'com.google.gwt.i18n.rebind.LocalizableGenerator?'
produced 'com.google.gwt.i18n.client.impl.CldrImpl?' 0ms

Which doesn't tell me where the 30-40 seconds are being spent.

Any help would be greatly appreciated.

Thanks,
Gaurav

On Nov 8, 1:31 pm, lowecg2004 chris.lowe...@gmail.com wrote:

 Hi Andrey,

 The initial load

Re: Problem using UiBinder with extended DockLayoutPanel

2009-12-12 Thread Chris Lowe
Hello,

I've also just run into this. I couldn't see anything in the issue
tracker so I've added a new issue:

http://code.google.com/p/google-web-toolkit/issues/detail?id=4342

Don't forget to vote (star) for this issue if it's important to you
and let's hope that this gets fixed soon.

Cheers,

Chris.


On Dec 8, 9:52 pm, lemaiol lema...@gmail.com wrote:
 Sorry Dalla,

 Did you mean the line in the code pasted above or the line in the
 compiled code? If you meant in the compiled code, it happens in the
 ine 15 of theUiBinderimplementation class generated by GWT. If you
 asked in the above's code, it should happen in the constructor, when
 the interface is created and binded.

 Cheers,
 Alberto

 On Dec 7, 9:21 am, Dalla dalla_man...@hotmail.com wrote:



  One what line do you get this error?

  On 6 Dec, 14:34, lemaiol lema...@gmail.com wrote:

   Hi guys,

   I have started trying the new features in GWT 2.0 (awesome ones,
   congrats! :) but I found some behavior that I cannot completely
   understand. I want to extend the DockLayoutPanel API in a class of my
   own but configure this new class usingUiBinder. When I do that, I get
   an exception claiming Type mismatch: cannot convert from
   DockLayoutPanel to ParserPanel (see code at the end). I guess this
   has to do with the parser but my expectation is that the parsing
   mechanism would be able to deal with subclasses or reject them at all
   being required to extend also the parser to match the specific new
   subclass.

   Should it be required to implement an specific parser for such a class
   and how should I do it?

   Many thanks,
   Alberto

   Problem.java
   package com.samples.gwt.client;

   // ...imports stripped out..

   public class Problem extends Composite implements EntryPoint {
       interface Binder extendsUiBinderPanel, Problem {}
       private static Binder binder = GWT.create(Binder.class);

       public Problem() {
           initWidget(binder.createAndBindUi(this));
       }

       public void onModuleLoad() {
           RootPanel.get().add(new Problem());
       }

   }

   Problem.ui.xml
   ui:UiBinder
           xmlns:ui='urn:ui:com.google.gwt.uibinder'
           xmlns:g='urn:import:com.google.gwt.user.client.ui'
           xmlns:s='urn:import:com.samples.gwt.client'

       s:ParserPanel unit='PX'
           s:north size=125
               g:Label text=Title/
           /s:north
           s:center
               g:Label text=Content/
           /s:center
       /s:ParserPanel
   /ui:UiBinder

   ParserPanel.java
   package com.samples.gwt.client;

   import com.google.gwt.dom.client.Style;
   import com.google.gwt.user.client.ui.DockLayoutPanel;

   public class ParserPanel extends DockLayoutPanel {
       public ParserPanel(Style.Unit unit) {
           super(unit);
       }

   }

--

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-tool...@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: OOPHM is slow

2009-12-12 Thread Chris Lowe
Hi guys,

I too have been stung by these performance issues and, although things
are not yet as good as they can be, I found the following helpful:

Make sure localhost is defined in your /etc/hosts file.  More info
here:

http://groups.google.com/group/google-web-toolkit-contributors/browse_thread/thread/66c716540cdb7a77/c528d86df893ff96#c528d86df893ff96

I'm actually on Windows 7 and it turns out that the default behaviour
now is to leave the definition of localhost to DNS.  For me, adding an
explicit definition of localhost to C:\Windows\System32\drivers\etc
\hosts improved things (at least I think so - or maybe it's my
perception?!).

Also, if you're using Chrome then the dev channel has recently been
updated to version 4.0.266.0  (check this via About Google Chrome on
the tools menu).  Upgrading to the latest version also made a positive
difference.

Finally, you may be able to change your app to help performance.
Obviously this will not be a realistic option for many, but I found
that the CPU cycles are burned processing my app code, albeit rather
inefficiently at this stage.  Nonetheless, the slow performance is a
massive exaggeration of my app performance.  A quick scout through my
code revealed several opportunities for introducing lazy
initialisation and eliminating some third party libraries, so making
some changes to my app also made a big difference to the speed of
development.

As I said, still not ideal, but I hope these issues will be resolved
soon.

Cheers,

Chris.




On Dec 7, 12:29 am, keyvez key...@gmail.com wrote:
 Hi,

 I am experiencing really slow times (30-40 seconds) when I refresh the
 page on safari or firefox. It almost seems to recompile the full app
 every single time I hit refresh. I don't even change anything, and
 this the app you get when you create new Web App in eclipse. Meanwhile
 the browser hangs like it's supposed to when making a synchronous
 server request.

 Specs: Eclipse 3.5, Mac OS 10.6, Java 6 64-bit (tried with 32-bit 5
 and 6), GWT 2.0 RC2 and GPE 1.2 RC2 (tried RC1 for both of those too.

 And running it with the -Dgwt=perflog=true VM argument I receive this:

 perf? OophmSessionHandler?.loadModule Main 838ms

 perf? ModuleDef?.refresh 35ms
 perf? ResourceOracleImpl?.refresh 1ms
 perf? ResourceOracleImpl?.refresh 23ms
 perf? ResourceOracleImpl?.refresh 9ms
 perf? TypeOracleMediator?.addNewUnits 165ms
 perf? ModuleSpace?.onLoad 511ms
 perf? Generator 'com.google.gwt.uibinder.rebind.UiBinderGenerator?'
 produced 'com.company.mypackage.web.client.Application.Binder' 21ms
 perf? TypeOracleMediator?.addNewUnits 0ms
 perf? Generator
 'com.google.gwt.resources.rebind.context.InlineClientBundleGenerator?'
 produced
 'com.company.mypackage.web.client.Application_BinderImpl_GenBundle?'
 4ms
 perf? TypeOracleMediator?.addNewUnits 0ms
 perf? Generator 'com.google.gwt.i18n.rebind.LocaleInfoGenerator?'
 produced 'com.google.gwt.i18n.client.impl.LocaleInfoImpl?' 14ms
 perf? TypeOracleMediator?.addNewUnits 0ms
 perf? Generator 'com.google.gwt.i18n.rebind.LocalizableGenerator?'
 produced 'com.google.gwt.i18n.client.impl.CldrImpl?' 0ms

 Which doesn't tell me where the 30-40 seconds are being spent.

 Any help would be greatly appreciated.

 Thanks,
 Gaurav

 On Nov 8, 1:31 pm, lowecg2004 chris.lowe...@gmail.com wrote:



  Hi Andrey,

  The initial load can be fairlyslowbut after the first load, are you
  using the hosted browser's refresh button?  This will make subsequent
  loads much quicker.

  Cheers,

  Chris.

  On Nov 8, 8:21 am, Andrey mino...@gmail.com wrote:

   Hello!

   WhyOOPHM(and in before hosted mode) is soslow?
   My application takes about 30-40 sec to start inOOPHM.

   I am using GXT. System is: Intel Core 2 Duo 2.4 GHz, 4 Gb RAM.
   I've reduced number of remote services from 20 to 3, but it didn't
   help a lot.

   What takes so much time?

   Am I right that is verification of the code to conform GWT's Java
   language subset?
   So, why not make a checkbox don't verify code to give an opportunity
   to run code fast and check it only periodically, say once a day.

   Thanks in advance!

   Andrey

--

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-tool...@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: OOPHM is slow

2009-12-12 Thread Chris Lowe
Actually, for now, the FireFox plugin seems to be *much* quicker that
Chrome's.

On Dec 12, 3:20 pm, Chris Lowe chris.lowe...@gmail.com wrote:
 Hi guys,

 I too have been stung by these performance issues and, although things
 are not yet as good as they can be, I found the following helpful:

 Make sure localhost is defined in your /etc/hosts file.  More info
 here:

 http://groups.google.com/group/google-web-toolkit-contributors/browse...

 I'm actually on Windows 7 and it turns out that the default behaviour
 now is to leave the definition of localhost to DNS.  For me, adding an
 explicit definition of localhost to C:\Windows\System32\drivers\etc
 \hosts improved things (at least I think so - or maybe it's my
 perception?!).

 Also, if you're using Chrome then the dev channel has recently been
 updated to version 4.0.266.0  (check this via About Google Chrome on
 the tools menu).  Upgrading to the latest version also made a positive
 difference.

 Finally, you may be able to change your app to help performance.
 Obviously this will not be a realistic option for many, but I found
 that the CPU cycles are burned processing my app code, albeit rather
 inefficiently at this stage.  Nonetheless, the slow performance is a
 massive exaggeration of my app performance.  A quick scout through my
 code revealed several opportunities for introducing lazy
 initialisation and eliminating some third party libraries, so making
 some changes to my app also made a big difference to the speed of
 development.

 As I said, still not ideal, but I hope these issues will be resolved
 soon.

 Cheers,

 Chris.

 On Dec 7, 12:29 am, keyvez key...@gmail.com wrote:



  Hi,

  I am experiencing really slow times (30-40 seconds) when I refresh the
  page on safari or firefox. It almost seems to recompile the full app
  every single time I hit refresh. I don't even change anything, and
  this the app you get when you create new Web App in eclipse. Meanwhile
  the browser hangs like it's supposed to when making a synchronous
  server request.

  Specs: Eclipse 3.5, Mac OS 10.6, Java 6 64-bit (tried with 32-bit 5
  and 6), GWT 2.0 RC2 and GPE 1.2 RC2 (tried RC1 for both of those too.

  And running it with the -Dgwt=perflog=true VM argument I receive this:

  perf? OophmSessionHandler?.loadModule Main 838ms

  perf? ModuleDef?.refresh 35ms
  perf? ResourceOracleImpl?.refresh 1ms
  perf? ResourceOracleImpl?.refresh 23ms
  perf? ResourceOracleImpl?.refresh 9ms
  perf? TypeOracleMediator?.addNewUnits 165ms
  perf? ModuleSpace?.onLoad 511ms
  perf? Generator 'com.google.gwt.uibinder.rebind.UiBinderGenerator?'
  produced 'com.company.mypackage.web.client.Application.Binder' 21ms
  perf? TypeOracleMediator?.addNewUnits 0ms
  perf? Generator
  'com.google.gwt.resources.rebind.context.InlineClientBundleGenerator?'
  produced
  'com.company.mypackage.web.client.Application_BinderImpl_GenBundle?'
  4ms
  perf? TypeOracleMediator?.addNewUnits 0ms
  perf? Generator 'com.google.gwt.i18n.rebind.LocaleInfoGenerator?'
  produced 'com.google.gwt.i18n.client.impl.LocaleInfoImpl?' 14ms
  perf? TypeOracleMediator?.addNewUnits 0ms
  perf? Generator 'com.google.gwt.i18n.rebind.LocalizableGenerator?'
  produced 'com.google.gwt.i18n.client.impl.CldrImpl?' 0ms

  Which doesn't tell me where the 30-40 seconds are being spent.

  Any help would be greatly appreciated.

  Thanks,
  Gaurav

  On Nov 8, 1:31 pm, lowecg2004 chris.lowe...@gmail.com wrote:

   Hi Andrey,

   The initial load can be fairlyslowbut after the first load, are you
   using the hosted browser's refresh button?  This will make subsequent
   loads much quicker.

   Cheers,

   Chris.

   On Nov 8, 8:21 am, Andrey mino...@gmail.com wrote:

Hello!

WhyOOPHM(and in before hosted mode) is soslow?
My application takes about 30-40 sec to start inOOPHM.

I am using GXT. System is: Intel Core 2 Duo 2.4 GHz, 4 Gb RAM.
I've reduced number of remote services from 20 to 3, but it didn't
help a lot.

What takes so much time?

Am I right that is verification of the code to conform GWT's Java
language subset?
So, why not make a checkbox don't verify code to give an opportunity
to run code fast and check it only periodically, say once a day.

Thanks in advance!

Andrey

--

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-tool...@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.




Cannot find generated I18 UiBinder Files

2009-12-10 Thread Chris Lowe
I've been trying to test the I18 features of UiBinder but I cannot
locate the generated properties file.

My procedure is this:

* Generate a new GWT 2.0 project called I18Test, with a package called
com.example

* Using the plugin, add a UiBinder asset called MainView to
com.example.client.  I amended the generated code as follows:

!DOCTYPE ui:UiBinder SYSTEM http://dl.google.com/gwt/DTD/xhtml.ent;
ui:UiBinder xmlns:ui=urn:ui:com.google.gwt.uibinder
xmlns:g=urn:import:com.google.gwt.user.client.ui


ui:generateFormat='com.google.gwt.i18n.rebind.format.PropertiesFormat'
 
ui:generateKeys=com.google.gwt.i18n.rebind.keygen.MD5KeyGenerator
ui:generateLocales=default
ui:style
.important {
font-weight: bold;
}
/ui:style
g:HTMLPanel
ui:msg description=Hello messageHello/ui:msg,
g:Button styleName={style.important} ui:field=button /
/g:HTMLPanel
/ui:UiBinder


* As a quick hack just to get the panel to show, I just amended the
generated module entry point to add the following:

RootPanel.get(sendButtonContainer).add(new MainView(Click me));

* When I run the app, everything appears okay.  When I compile, I get
a message reporting that a file called
com.example.client.MainViewMainViewUiBinderImplGenMessages.properties
has been generated:

Compiling module com.example.I18Test
   Scanning for additional dependencies:
generated://4B78699A3BEB50FB1BC134587BCF4F2F/com/example/client/MainView_MainViewUiBinderImpl.java
  Computing all possible rebind results for
'com.example.client.MainViewMainViewUiBinderImplGenMessages'
 Rebinding
com.example.client.MainViewMainViewUiBinderImplGenMessages
Invoking
com.google.gwt.dev.javac.standardgeneratorcont...@39f3bb
   Generating
com.example.client.MainViewMainViewUiBinderImplGenMessages.properties
from MainViewMainViewUiBinderImplGenMessages_ for locale default
   Compiling 6 permutations
  Compiling permutation 0...
  Compiling permutation 1...
  Compiling permutation 2...
  Compiling permutation 3...
  Compiling permutation 4...
  Compiling permutation 5...
   Compile of permutations succeeded
Linking into C:\Users\lowec\workspace\I18Test\war\i18test.
   Link succeeded
   Compilation succeeded -- 29.125s


However, I cannot find this file anywhere!  Are there any more steps
that I need perform to get at the file?

Cheers,

Chris.

--

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-tool...@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: Deploy RCP in a subdomain

2009-09-12 Thread Chris Lowe

SOP basically says that the GWT app can only talk to the domain from
where it was served.  With that in mind, I think you have two options:

1. Configure the web server for your primary domain to proxy your GWT
requests to your sub-domain - mod_proxy for Apache will achieve this;
or
2. Simply serve the page containing your GWT app from www.gwt.mysite.org.
That could be either a full redirect to that server, or maybe even
serve a static HTML file + GWT app from www.gwt.mysite.org into an
iframe of the main site.  The latter suggestion is not pretty, but
might work for you.

I hope that helps,

Chris.


On Sep 11, 4:17 pm, Hlunboi hlungu...@gmail.com wrote:
 I have access restriction to the whole site. my application should run only
 fromwww.gwt.mysite.org. Is there any solution for accessing through sub
 domain.
 -hlunboi

 On Fri, Sep 11, 2009 at 8:09 PM, Jason Essington
 jason.essing...@gmail.comwrote:



  That violates SOP (Same Origin Policy) so your browser won't let it happen.
  you would have to load your host page from that site to allow RPC to
  connect.

  XMLHTTPRequests (of which RPC is) must connect to the same host, port and
  protocol from which the host page was loaded.

  -jason

  On Sep 10, 2009, at 11:28 PM, Hlunboi wrote:

  Hi

  I want to deploy my GWT RCP application in subdomain of my website.
  Example: I have a websitewww.mysite.organd would like to deploy my GWT
  so that i can access using my subdomainwww.gwt.mysite.org

  Could someone explain how to deploy in a subdomain?

  Regards
  Hlun
--~--~-~--~~~---~--~~
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: rpc serialization problem

2009-09-03 Thread Chris Lowe

Are the List fields on your objects specified in terms of interfaces?
GWT RPC needs to know as much about your objects at compile time,
could you try using a concrete class instead - preferably ArrayList?

It sounds like you're trying to serialize ORM objects directly, is
that right?  I don't know much about Data Nucleus and whether or not
it dynamically enhances entity objects under its control with proxies
etc.  My experience is with Hibernate which usually does add something
to a class, so serializing entities directly is strongly discouraged -
either the entity objects have to be filtered of the Hibernate
extras, or values copied into DTOs.

On Sep 2, 10:35 am, jvoro...@googlemail.com
jvoro...@googlemail.com wrote:
 Hallo,
 i have the same problem.
 List (GWT) can not be used in DataNuceleus.

 Can every one help pleas!
 THX

 On 5 Aug., 04:52, mike m...@introspect.com wrote:



  I have a simple one-to-many betwen two entities.  The parent entity
  uses List to contain the child entities.  I am able to persist these
  entities in the datastore without problems.

  However, when reading a root entity at the server, I get:

  rpc.SerializationException: Type 'org.datanucleus.sco.backed.List' was
  not included in the set of types  which can be serialized...

  The entities are successfully read from the datastore, but something
  in Datanucleus doesn't build the List correctly.

  Has anyone found a workaround for this serialization problem.

  Thanks

  GWT 1.7 GAE 1.2.2
--~--~-~--~~~---~--~~
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: GWT serialisation too slow

2009-09-03 Thread Chris Lowe

Not having a JIT may be really biting you here.  AFAIK GWT
serialisation makes extensive use of reflection, however there seems
to be a way to define a custom field serializer (looks similar to
using Externalizable), but I've not tried this myself:

http://books.google.co.uk/books?id=KXBdajKMJGECpg=PA164lpg=PA164dq=gwt+custom+field+serializersource=blots=w5LGABPcqRsig=JRqZoeXztC7rG9jxftP_6QbbWwMhl=enei=0syfSqSsIIPUjAf77Jm9Dgsa=Xoi=book_resultct=resultresnum=9#v=onepageq=gwt%20custom%20field%20serializerf=false

Good luck and if you decide to try this approach I'll be interested to
hear how you get on.

Cheers,

Chris.


On Sep 2, 12:04 pm, David Given d...@cowlark.com wrote:
 Chris Lowe wrote:

 [...]

  500-600 does seem like a lot of objects to be processing in one hit if
  performance on a low end server is a concern, but then again 20
  seconds seems like an awfully long time too.

 Actually, thinking about it, it's more than that --- probably around
 1500 objects (500 large objects, but each one contains references to a
 few small just-data objects).

  What's the performance like in your dev environment?  Are your JVM
  settings the same as those on your target server?

 [...]
   You can also add a simple filter before the GWT servlet to
   give you a very coarse request timing - you can at least then rule out
   latencies and bandwidth to your server.

 I wish. The target server is a solid-state ARM box -- a SheevaPlug
 (1.2GHz processor, 512MB RAM). Alas, there is no decent JIT for ARM yet,
 so it's running the interpreted JDK. I'll check out VisualVM, but I
 suspect that it's not up to running it.

 Annoyingly the machine is perfectly capable of running the actual
 *application*. The actual logic takes a tiny fraction of the time of the
 serialisation.

 My development machine is a traditional ix32 box and serialisation takes
 a trivial amount of time. I'll try the trick with the filter to get some
 actual figures.

 [...]

  How large are your serialized objects prior to compression?  I think
  you can quickly test this by disabling gzip compression in FireFox:

 http://forgetmenotes.blogspot.com/2009/05/how-to-disable-gzip-compres...

 This just causes the page to turn into garbage --- probably a server
 misconfiguration on my end.

  If the uncompressed size is particularly large then memory and
  compression time may be the limiting factor.

 Looking at the server stats its VM size doesn't appear to change during
 the first serialisation process, indicating that it doesn't want to
 allocate more memory. I have a feeling that memory's not the problem.

  Finally, what kind of objects are you serialising?  Are you attempting
  to send something like Hibernate objects over the wire (or some other
  kind of proxied objects) which are causing unexpected database hits?

 Nope. The entire DB is being held in-memory. In fact, the way my app
 works is that the server logic calculates the delta needed to be sent to
 the client, constructs a packet of client objects from this, and then
 returns that packet as the result from the RPC call, so the stuff being
 serialised doesn't actually content to the objects in the DB at all. (My
 400-object delta, the result of the initial DB sync, takes about 4s to
 generate.)

 The delta generation uses reflection and annotations to query the DB
 objects for properties that need to be copied into the delta. (The
 client is only allowed to see information from the DB that the user is
 allowed to have.) Simply by adding a cache for Field objects I managed
 to reduce the time taken for the delta generation by a factor of ten, so
 I suspect that reflection is dog slow with this JVM. What does the GWT
 serialisation system use? If it uses reflection, is there any way of
 persuading it to use byte-code generation instead?

 --
 ┌─── dg@cowlark.com ─http://www.cowlark.com─
 │
 │ They laughed at Newton. They laughed at Einstein. Of course, they
 │ also laughed at Bozo the Clown. --- Carl Sagan
--~--~-~--~~~---~--~~
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: GWT serialisation too slow

2009-09-02 Thread Chris Lowe

Morning David,

I've found that GWT serialization is pretty decent.

500-600 does seem like a lot of objects to be processing in one hit if
performance on a low end server is a concern, but then again 20
seconds seems like an awfully long time too.

What's the performance like in your dev environment?  Are your JVM
settings the same as those on your target server?

What exactly do you mean by low end server in terms of CPU and RAM?
Are you able to attach VisualVM that comes with the Sun JDK? This will
quickly give you some clues as whether the process is limited by CPU
or memory.  You can also add a simple filter before the GWT servlet to
give you a very coarse request timing - you can at least then rule out
latencies and bandwidth to your server.

How large are your serialized objects prior to compression?  I think
you can quickly test this by disabling gzip compression in FireFox:

http://forgetmenotes.blogspot.com/2009/05/how-to-disable-gzip-compression-in.html

If the uncompressed size is particularly large then memory and
compression time may be the limiting factor.

Finally, what kind of objects are you serialising?  Are you attempting
to send something like Hibernate objects over the wire (or some other
kind of proxied objects) which are causing unexpected database hits?

Cheers,

Chris.


On Sep 1, 10:19 pm, David Given d...@cowlark.com wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 I've got an app intended to run on a fairly low-end server, so I've been
 optimising it as hard as possible.

 Right now I've got it to the stage where the biggest bottleneck is the
 GWT server-side serialisation, as it's squirting a large database sync
 over to the client. My app is taking about 300ms to run the business
 logic, 2000ms to construct the delta... and a staggering 20 *seconds* to
 serialise it before sending it to the client. (Numbers approximate as I
 can't insert any instrumentation into the GWT backend.)

 The packet's not very big; 20kB compressed on the wire, as far as I can
 tell, and about 500-600 objects.

 Does anyone have any suggestions as to how I can speed this up? Right
 now the time it takes is unacceptable. Can any alternative serialisation
 system be plugged in, for example?

 - --
 ┌─── dg@cowlark.com ─http://www.cowlark.com─
 │
 │ People who think they know everything really annoy those of us who
 │ know we don't. --- Bjarne Stroustrup
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v1.4.9 (GNU/Linux)
 Comment: Using GnuPG with Mozilla -http://enigmail.mozdev.org/

 iD8DBQFKnY/pf9E0noFvlzgRAgZhAKCzYv2e7uWBtkzhB++walOQMK1xSACgnSIN
 uKhpOfVQ+1k6XfSDFnogeSc=
 =f4nY
 -END PGP SIGNATURE-
--~--~-~--~~~---~--~~
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: GWT performance

2009-09-02 Thread Chris Lowe

Kristian,

Do GMail or the GWT showcase application work well enough for you in
your intended browser?  If so, then in all likelihood your GWT
application will perform adequately.

I'm not aware of any reliability issues as such. The only thing that
springs to mind is that GWT compiles for specific browsers that it
knows about at compile time.  Like many other web application
technologies, if a new browser comes out then they can break
compatibility. Recent examples of this are with IE8 and FF 3.5,
however Google have always endeavoured to roll out compiler updates to
rectify these issues.

Loading times can be a problem and it boils down to a couple of
things: 1. I believe IE's JavaScript parser gets disproportionately
slower the larger your GWT application is (other browsers do not
suffer with this); 2. a compressed GWT application can still be fairly
large, say 150k to 200k, which can be an issue if your target audience
are all on dial up connections.  Remember though that this download is
a one-off and the browser will cache that version of the app forever
so all subsequent app launches are significantly quicker.  Also, GWT
2.0 has a number of things in the pipeline to address these issues
(like code splitting).

Cheers,

Chris.


On Sep 2, 5:32 am, kristian kristian.wij...@gmail.com wrote:
 Hello All, i am a newbie that want to try to build a web application
 using GWT, but i heard from some of my colleague that GWT has some
 issue with its performance (reliability, load slowly). So, is there
 anyone can enlighten me? Thanks.
--~--~-~--~~~---~--~~
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: Running Apache Hupa sample of GWT MVP

2009-08-30 Thread Chris Lowe

Hi Ganesh,

The Hupa code is a great example to look at for MVP, command pattern
etc. If you're interested in those patterns then I've created a simple
(and standalone) example of an MVP application based on the generated
GWT starter application:

http://blog.hivedevelopment.co.uk/2009/08/google-web-toolkit-gwt-mvp-example.html

Hopefully that will give you something to play with until you get Hupa
up and running.

Cheers,

Chris.


On Aug 30, 4:03 am, smiletolead kumar.gane...@gmail.com wrote:
 Hi all,
   I am looking at the sample GWT project Apache HUPA which implements
 MVP pattern. I am having trouble in running it, though I was able to
 set up in Eclipse. I am unable to login. I set this mail client to
 connect to gmail by setting IMAP details of gmail. But it did not
 connect. Has anyone connected it with gmail or any other IMAP mail
 server?

 Thanks
 Ganesh
--~--~-~--~~~---~--~~
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: What are you using for a backend??

2009-01-21 Thread Chris Lowe
Hello,

I had better luck finding a host for for my Java stack by looking for a
regular VPS rather than looking for dedicated J2EE (or Tomcat) hosting.
There are loads out there but I've uses
http://rimuhosting.com/order/planselector.jsp for the last 18 months or so
and they've been pretty good.

As usual, the server/host that you choose depends on your application's
needs, expected server load etc.  Amazon EC2 could also be worth a look -
you can add or remove hardware on the fly which is a great way to handle the
Digg effect.  However, the cost of their most basic server configuration may
be more expensive when compared to a cheap VPS config.

For the Java side of things, again there's plenty of choice as to which
framework that you use, but I've had very favourable experiences with JBoss
Seam (http://seamframework.org/) - there's a section in their reference docs
for using GWT plus there is an example in the source code.

Good luck,

Chris.

2009/1/21 davidroe roe.da...@gmail.com


 I run a back-end using Apache/mod_perl using AxKit and XSL to convert
 XML into JSON.

 have you investigated a web host like slicehost.com? they provide you
 with a virtual machine which you can install any OS and back-end you
 choose.

 /dave

 On Jan 20, 5:24 am, sloughran slough...@gmail.com wrote:
  So, in my messing around with GWT for the past year or so, I have been
  using RPC's to communicate to the server. The thing is, my projects
  have never gotten past my Eclipse project, so my server has just
  been a folder on my computer.
 
  I am looking at web hosting companies and I just see things like PHP,
  RUBY, PERL and such being allowed. I am not seeing JAVA being allowed,
  which I would need for my RPC's.
 
  So, my question is, what do people use for server side code? Do you
  use a web host with JAVA allowed? Do you use PHP and talk to it
  through HTML gets?
 


--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---