Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

  • uhurusurfa
    replied
    Switching to use the G1GC garbage collector in the build file for the gwtc target made a big difference for me:
    <jvmarg value="-XX:+UseG1GC"/>

    Leave a comment:


  • godonnell_ip
    replied
    Hi, Blama - Thanks for taking the time to respond,

    Having got used to Chrome's debugger, I have really found Super Dev Mode to be faster and more useful than Dev Mode over the past 15 months or so that I've been using it. I've tried a couple of times in the past to move to GWT 2.7 to try out the incremental compilation, but it's been a while since I last got around to it and I was pleasantly surprised last week after I worked through some roadblocks and found it worked for me - only to be disappointed by the long link step!

    Like you, I will also keep plugging away as and when I have time and will post any potential pointers I might come across that help me work around this. Thanks again!

    Regards,
    Gary

    Leave a comment:


  • Blama
    replied
    Hello Gary,

    I did not do any further testing here (still using Java 7). My assumption is still that it is related to the Windows filesystem, but I don't know as I switched back to normal DevMode for now.
    I'll test with a more powerful Win 10/Java 8 system in January and then report times here. Perhaps I'll also test using Ubuntu + ext4.

    I'm pretty sure I'll keep using DevMode as long as possible, as SuperDevMode has other usability issues for me (mainly debugging in the browser not in the IDE).

    Best regards
    Blama
    Last edited by Blama; 21 Dec 2015, 05:24.

    Leave a comment:


  • godonnell_ip
    replied
    Hi, Blama - you seem to have blazed a trail for me to follow here as I am seeing exactly the same as you (Windows machine, I7-3643QM@2.2GHz, JDK 7, Samsung SSD 840 EVO, GWT 2.7, SuperDev Mode and a ~34s link time mostly spent emitting resources), but sadly the trail stops just as it was about to get interesting :-)

    Did you find a solution to this problem? In all other respects my machine is licketty-split and I've also observed similar results on a different 8-core i7 @ 3.4GHz with Samsung SSD (I forget the exact specs).

    If JDK 8 (or anything else) helped you out it would be really useful to know that before I spend any more time heading down the path that you have already taken...

    Thanks in advance,
    Gary O'Donnell

    Leave a comment:


  • Blama
    replied
    Originally posted by Isomorphic View Post
    For the test numbers, Oracle JDK 8 was used in Eclipse.
    Ok. I'll switch then and retest. I have to do that anyway.

    Originally posted by Isomorphic View Post
    It's unlikely this will happen as a high priority task, but we may review the situation when we get a chance to see whether any simple changes can be made to avoid that - but it may require a fix from GWT.
    Ok, I understand.

    Best regards
    Blama

    Leave a comment:


  • Isomorphic
    replied
    Originally posted by Blama View Post
    Hi Isomorphic,

    I agree. It does look like it is my system. But it is five times slower than yours. A difference this big can't possibly be caused by the hardware, so I have to analyse more.
    My virus scanner is on-demand and not always-on, so this can't be the source, either.
    What Java version are you using? I'm still on Java 7. Under Linux, do you use Oracle JDK or Open JDK?
    For the test numbers, Oracle JDK 8 was used in Eclipse.

    Originally posted by Blama View Post
    Even if it does not seem necessary: Do you have an easy way of stopping the generation of these public artifacts - it seems that the generation is useless (only static files that are already available), even if it does not take much time for you.

    Best regards
    Blama
    It's unlikely this will happen as a high priority task, but we may review the situation when we get a chance to see whether any simple changes can be made to avoid that - but it may require a fix from GWT.

    Leave a comment:


  • Blama
    replied
    Hi Isomorphic,

    I agree. It does look like it is my system. But it is five times slower than yours. A difference this big can't possibly be caused by the hardware, so I have to analyse more.
    My virus scanner is on-demand and not always-on, so this can't be the source, either.
    What Java version are you using? I'm still on Java 7. Under Linux, do you use Oracle JDK or Open JDK?

    Even if it does not seem necessary: Do you have an easy way of stopping the generation of these public artifacts - it seems that the generation is useless (only static files that are already available), even if it does not take much time for you.

    Best regards
    Blama

    Leave a comment:


  • Isomorphic
    replied
    Using Windows 7 SP1 x64 on the same hardware I do see somewhat higher numbers:
    - 84 seconds for the initial run
    - 5.4 seconds for the recompile after an incremental change

    Perhaps it is NTFS, or Java might be less efficient on Windows. In any event, I don't believe there's an issue with SGWT.

    We'll review what you mentioned about using the GWT Web Application to run the CodeServer and may update the docs.

    Leave a comment:


  • Blama
    replied
    Hi Isomorphic

    Originally posted by Isomorphic View Post
    Can you be more specific about what type of run configuration you're using? In our docs, we describe using a Java Application RC to start the Code Server, and a Web Application RC to deploy production mode (if not already achieved through other means).
    You have this in your SuperDevModeTroubleshooting-docs:
    Originally posted by docs
    Deploying your Web Application
    You should now launch the "Web Application" Run Configuration that it was suggested you use - the simplest way is to Right Click on the Project / Run As / Web Application. Visit the URL generated by Eclipse, without the gwt.codesvr parameter. You may see a warning about needing a recompile - you can either ignore this or run a full compile once to get rid of it. (If you've deployed your Web Application manually outside of Eclipse, this section can be skipped.)
    This applies to me, I'm using local Tomcat as Webserver, because I use your JDBCRealm setup + declarative security.

    I was talking about SDM Codeserver start you do with "Java Application" Run Configuration.

    When I switched this to "Web Application" Run Configuration I got the benefits I mentioned. See the screenshots of the Run Configuration window.
    My argument line is:
    -noserver -superDevMode -codeServerPort 9997 -remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -logLevel TRACE -workDir "${workspace_loc:builtinds}/codeserver" -startupUrl http://localhost:8080/builtinds/BuiltInDS.html -war "C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\BuiltInDS" com.smartgwt.sample.BuiltInDS
    Please note that I just dropped in GWT 2.7.0 and changed all environment variables to point to it - as it seems the Google Plugin for Eclipse 4.4 does not provide newer version with GWT 2.7.0, yet.
    Please also note that with the current version of the Plugin you'd need only one Eclipse Run Configuration also if you do not use an external Tomcat. On the GWT tab you can start the Jetty server as well.



    The linker problem:
    Originally posted by Isomorphic View Post
    If you're referring to all the messages about copied resources, yes, we get them even for the quick (3 second) run for incremental changes.
    Yes, I was. Thanks for verifying.

    Originally posted by Isomorphic View Post
    The PC used to get the test numbers presented earlier indeed is running Linux, but it's hard to believe the file system difference between ext4 and NTFS would be that significant. Although it does have a 7200 rpm drive, it has the non-default option "strictatime" applied to that volume (for debugging) which would tend to slow it down.
    I'm wondering myself. But you know the crazy directory delete times with Windows...so I would not take it for granted that it is impossible. Another idea: I'll run with disabled antivirus again. Perhaps this also costs performance.
    Could you try with a similar powered Windows PC as well? I'd test myself with Linux, but I don't have a system here (small startup company).

    Best regards
    Blama
    Attached Files

    Leave a comment:


  • Isomorphic
    replied
    Originally posted by Blama View Post
    When you use the Eclipse GWT plugin to start SuperDevMode, the reuse of the already compiled JS-files seems to work, resulting in a faster codeserver-start.
    Can you be more specific about what type of run configuration you're using? In our docs, we describe using a Java Application RC to start the Code Server, and a Web Application RC to deploy production mode (if not already achieved through other means).

    Originally posted by Blama View Post
    If you get the messages and are that fast anyway I have a problem with my system. If not, I'll have to search further.
    If you're referring to all the messages about copied resources, yes, we get them even for the quick (3 second) run for incremental changes. For example, a snippet is:

    Code:
                  :
    
                Emitting resource sc/skins/Graphite/images/Calendar/gripper.png
                Emitting resource sc/skins/Graphite/images/ColorPicker/crosshair.png
                Emitting resource sc/skins/Graphite/images/ColorPicker/spectrum.png
                Emitting resource sc/skins/Graphite/images/CubeGrid/arrow_closed.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/arrow_closed_down.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/arrow_closed_left.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/arrow_closed_right.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/arrow_open.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/arrow_open_down.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/arrow_open_left.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/arrow_open_right.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/arrow_open_up.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/arrow_opening.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/close.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/close_over.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/colHeader.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/colHeaderDisabled.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/colHeaderLabel.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/colHeaderLabelDown.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/colHeaderOver.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/colHeaderSelected.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/colHeaderSelectedOver.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/header_handle.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/header_handle_over.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/innerHeader.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/innerHeaderDown.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/innerHeaderSelected.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/innerHeaderSelectedOver.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/maximize.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/maximize_over.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/minimize.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/minimize_over.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/rowHeader.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/rowHeaderDisabled.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/rowHeaderLabel.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/rowHeaderLabelDown.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/rowHeaderLabelSelected.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/rowHeaderOver.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/rowHeaderSelected.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/rowHeaderSelectedOver.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/sort_down.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/sort_down_over.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/sort_down_selected.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/sort_down_selected_over.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/sort_up.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/sort_up_over.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/sort_up_selected.gif
                Emitting resource sc/skins/Graphite/images/CubeGrid/sort_up_selected_over.gif
                Emitting resource sc/skins/Graphite/images/DatabaseBrowser/column.png
                Emitting resource sc/skins/Graphite/images/DatabaseBrowser/data.png
                Emitting resource sc/skins/Graphite/images/DateChooser/arrow_left.png
                Emitting resource sc/skins/Graphite/images/DateChooser/arrow_right.png
                Emitting resource sc/skins/Graphite/images/DateChooser/doubleArrow_left.png
                Emitting resource sc/skins/Graphite/images/DateChooser/doubleArrow_right.png
                Emitting resource sc/skins/Graphite/images/Dialog/ask.png
                Emitting resource sc/skins/Graphite/images/Dialog/confirm.png
                Emitting resource sc/skins/Graphite/images/Dialog/error.png
                Emitting resource sc/skins/Graphite/images/Dialog/notify.png
                Emitting resource sc/skins/Graphite/images/Dialog/say.png
                Emitting resource sc/skins/Graphite/images/Dialog/stop.png
                Emitting resource sc/skins/Graphite/images/Dialog/warn copy.png
                Emitting resource sc/skins/Graphite/images/Dialog/warn.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/ColorPicker_icon.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/ColorPicker_icon_Disabled.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/ColorPicker_icon_Disabled_empty.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/ColorPicker_icon_Disabled_empty_rtl.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/ColorPicker_icon_Disabled_rtl.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/ColorPicker_icon_empty.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/ColorPicker_icon_empty_rtl.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/ColorPicker_icon_rtl.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/PopUpTextAreaEditor_icon.gif
                Emitting resource sc/skins/Graphite/images/DynamicForm/PropSheet_ColorPicker_icon.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/PropSheet_pickbutton.gif
                Emitting resource sc/skins/Graphite/images/DynamicForm/PropSheet_pickbutton_Disabled.gif
                Emitting resource sc/skins/Graphite/images/DynamicForm/Remove_icon.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/Remove_icon_Disabled.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/Remove_icon_Over.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/checkbox_sprite.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/checked.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/checked_Disabled.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/checked_Down.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/date_control.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/date_control_Disabled.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/default_formItem_icon.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/default_formItem_icon_Disabled.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/default_formItem_icon_Over.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/drop.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/drop_Disabled.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/partialcheck.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/partialcheck_Disabled.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/partialcheck_Down.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/partialcheck_Over.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/search_icon.svg
                Emitting resource sc/skins/Graphite/images/DynamicForm/search_icon~2.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/spinner_control_decrease.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/spinner_control_decrease_Disabled.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/spinner_control_decrease_Disabled_rtl.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/spinner_control_decrease_Focused.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/spinner_control_decrease_Focused_rtl.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/spinner_control_decrease_rtl.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/spinner_control_increase.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/spinner_control_increase_Disabled.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/spinner_control_increase_Disabled_rtl.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/spinner_control_increase_Focused.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/spinner_control_increase_Focused_rtl.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/spinner_control_increase_rtl.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/spinner_control_sprite.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/spinner_control_sprite_rtl.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/text_control.gif
                Emitting resource sc/skins/Graphite/images/DynamicForm/text_control_Disabled.gif
                Emitting resource sc/skins/Graphite/images/DynamicForm/text_control_Over.gif
                Emitting resource sc/skins/Graphite/images/DynamicForm/unchecked.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/unchecked_Disabled.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/unchecked_Down.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/unsetcheck.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/unsetcheck_Disabled.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/unsetcheck_Down.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/unsetcheck_Over.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/unstacked_spinner_minus.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/unstacked_spinner_minus_Disabled.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/unstacked_spinner_minus_Disabled_rtl.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/unstacked_spinner_minus_Focused.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/unstacked_spinner_minus_Focused_rtl.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/unstacked_spinner_minus_rtl.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/unstacked_spinner_plus.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/unstacked_spinner_plus_Disabled.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/unstacked_spinner_plus_Disabled_rtl.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/unstacked_spinner_plus_Focused.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/unstacked_spinner_plus_Focused_rtl.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/unstacked_spinner_plus_rtl.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/unstacked_spinner_sprite.min.svg
                Emitting resource sc/skins/Graphite/images/DynamicForm/unstacked_spinner_sprite.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/unstacked_spinner_sprite.svg
                Emitting resource sc/skins/Graphite/images/DynamicForm/unstacked_spinner_sprite_rtl.min.svg
                Emitting resource sc/skins/Graphite/images/DynamicForm/unstacked_spinner_sprite_rtl.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/unstacked_spinner_sprite_rtl.svg
                Emitting resource sc/skins/Graphite/images/DynamicForm/unstacked_spinner_sprite_rtl~2.png
                Emitting resource sc/skins/Graphite/images/DynamicForm/unstacked_spinner_sprite~2.png
                Emitting resource sc/skins/Graphite/images/FileBrowser/createNewFolder.png
                Emitting resource sc/skins/Graphite/images/FileBrowser/file.png
                Emitting resource sc/skins/Graphite/images/FileBrowser/folder.png
                Emitting resource sc/skins/Graphite/images/FileBrowser/previousFolder.png
                Emitting resource sc/skins/Graphite/images/FileBrowser/refresh.png
                Emitting resource sc/skins/Graphite/images/FileBrowser/upOneLevel.png
                Emitting resource sc/skins/Graphite/images/ImgButton/button.png
                Emitting resource sc/skins/Graphite/images/ImgButton/button_Disabled.png
    The PC used to get the test numbers presented earlier indeed is running Linux, but it's hard to believe the file system difference between ext4 and NTFS would be that significant. Although it does have a 7200 rpm drive, it has the non-default option "strictatime" applied to that volume (for debugging) which would tend to slow it down.

    Leave a comment:


  • Blama
    replied
    Hi Isomorphic,

    unfortunately I could not solve my long-linking problem, yet.

    But I made two interesting discoveries.
    1. When you use the Eclipse GWT plugin to start SuperDevMode, the reuse of the already compiled JS-files seems to work, resulting in a faster codeserver-start. See these logs:
      Code:
      Persistent unit cache dir set to: C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\gwt-unitCache
      Looking for previously cached Compilation Units in C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\gwt-unitCache
      Runing CodeServer with parameters: [-noprecompile, -port, 9876, -sourceLevel, 1.7, -bindAddress, 127.0.0.1, -workDir, C:\Users\myuser\workspace\lib\smartgwtpower-5.0p\samples\built-in-ds\codeserver, -launcherDir, C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\BuiltInDS, -logLevel, TRACE, com.smartgwt.sample.BuiltInDS]
      Loading modules
         com.smartgwt.sample.BuiltInDS
      Super Dev Mode starting up
         workDir: C:\Users\myuser\workspace\lib\smartgwtpower-5.0p\samples\built-in-ds\codeserver
            Public resources found in...
            Translatable source found in...
      Linking modules
         Bootstrap link for command-line module 'com.smartgwt.sample.BuiltInDS'
            Linking module 'builtinds'
               Invoking Linker SmartGwt
               Invoking Linker RPC policy file manifest
               Invoking Linker Cross-Site-Iframe
               Invoking Linker ScriptInjector
               Invoking Linker RPC log linker
               Invoking Linker Export CompilationResult symbol maps
               Invoking Linker Emit compile report artifacts
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D730B96DC: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D730FFD9D: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E2B0C: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E356D: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E43DD: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E4403: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E4498: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E4FCD: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E52DB: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E5439: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E5455: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E5518: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E5589: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E55A8: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E56F1: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E579A: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E58C4: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D732EFE7F: Load complete
      log4j:WARN No appenders could be found for logger (org.eclipse.jetty.util.log).
      log4j:WARN Please initialize the log4j system properly.
         Loading Java files in com.smartgwt.sample.BuiltInDS.
         Found 4872 cached/archived units.  Used 4872 / 4872 units from cache.
         Compiling...
            Compilation completed in 0,00 seconds
         Added 0 units to cache since last cleanup.
      ...
      ...
      ...
      This does even work if you change a java file while the codeserver is down. On start it then just compiles the changed file. See this startup log excerpt (the end shows it effect) for a changed String:
      Code:
      Persistent unit cache dir set to: C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\gwt-unitCache
      Looking for previously cached Compilation Units in C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\gwt-unitCache
      Runing CodeServer with parameters: [-noprecompile, -port, 9876, -sourceLevel, 1.7, -bindAddress, 127.0.0.1, -workDir, C:\Users\myuser\workspace\lib\smartgwtpower-5.0p\samples\built-in-ds\codeserver, -launcherDir, C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\BuiltInDS, -logLevel, TRACE, com.smartgwt.sample.BuiltInDS]
      Loading modules
         com.smartgwt.sample.BuiltInDS
      Super Dev Mode starting up
         workDir: C:\Users\myuser\workspace\lib\smartgwtpower-5.0p\samples\built-in-ds\codeserver
            Public resources found in...
            Translatable source found in...
      Linking modules
         Bootstrap link for command-line module 'com.smartgwt.sample.BuiltInDS'
            Linking module 'builtinds'
               Invoking Linker SmartGwt
               Invoking Linker RPC policy file manifest
               Invoking Linker Cross-Site-Iframe
               Invoking Linker ScriptInjector
               Invoking Linker RPC log linker
               Invoking Linker Export CompilationResult symbol maps
               Invoking Linker Emit compile report artifacts
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D730B96DC: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D730FFD9D: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E2B0C: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E356D: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E43DD: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E4403: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E4498: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E4FCD: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E52DB: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E5439: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E5455: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E5518: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E5589: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E55A8: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E56F1: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E579A: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D731E58C4: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D732EFE7F: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D73353FF3: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D733E9EBD: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D733FBF61: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D73410015: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D7341250E: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D7346F257: Load complete
      gwt-unitCache-c04dfa348afbdd12c2a9ddc3bc36901a78fa6812-0000014D734CDDB4: Load complete
      log4j:WARN No appenders could be found for logger (org.eclipse.jetty.util.log).
      log4j:WARN Please initialize the log4j system properly.
         Loading Java files in com.smartgwt.sample.BuiltInDS.
      [B]   Found 4871 cached/archived units.  Used 4871 / 4872 units from cache.
         Compiling...
            Compilation completed in 1,59 seconds
         Added 1 units to cache since last cleanup.
      Wrote 1 units to persistent cache.[/B]
      ...
      ...
      ...
    2. Using Eclipse GWT plugin it is no longer needed in the browser to use the bookmarklets and to manually hit compile. Java-file change, Ctrl-S save in Eclipse and F5 Reload in FF26/GC42/IE11 are enough to trigger the recompile (funny thing though: The same <safename>.cache.js is created and delivered for FF26 and IE11 (binding: user.agent=gecko1_8 in the logs for both, this might be a GWT bug)).

    I think this is good news with the caching and the auto-recompile on refresh.



    Back to the long-linking problem:
    I'm still not sure that your PC is not just way faster with the linking step. Under Windows filesystem operations are way slower than under Linux (and most likely also way slower than under MacOS).
    Your path suggested that you might not be using Windows (or Eclipse uses its own format). Could you start SuperDevMode like before, but with "-logLevel DEBUG" (sorry, I said TRACE before, but only debug shows the "Emitting resource xyz" messages).
    If you get the messages and are that fast anyway I have a problem with my system. If not, I'll have to search further.

    Thank you & Best regards
    Blama

    Leave a comment:


  • Isomorphic
    replied
    The command line arguments to CodeServer were:
    Code:
    -src /home/iscdev/Downloads/smartgwtee-5.0p/samples/built-in-ds/src -logLevel TRACE com.smartgwt.sample.BuiltInDS
    By linked directories, we mean that the src and war folders in the Project were not inside the Eclipse workspace, but references to external dirs. (You would configure this by right-clicking on the project tree, etc.) Eclipse indicates this by labeling each a "Linked Folder" - check the Eclipse docs. If you look at the .project file itself, they'll appear like:
    Code:
    <linkedResources>
        <link>
            <name>src</name>
            <type>2</type>
            <location>/home/iscdev/Downloads/smartgwtee-5.0p/samples/built-in-ds/src</location>
        </link>
        <link>
            <name>war</name>
            <type>2</type>
            <location>/home/iscdev/Downloads/smartgwtee-5.0p/samples/built-in-ds/war</location>
        </link>
    </linkedResources>
    The 2.9 seconds I gave is the total time:
    Code:
              : 
    
             Link succeeded
             Linking succeeded -- 0.780s
          2.757s total -- Compile completed
          job's progress set to SERVING: com.smartgwt.sample.BuiltInDS_1_2
          job's progress set to GONE: com.smartgwt.sample.BuiltInDS_1_1
    GET /builtinds/builtinds.nocache.js
    GET /builtinds/AED76A972D654355F90F70B2B9405D62.cache.js
    GET /sourcemaps/builtinds/AED76A972D654355F90F70B2B9405D62_sourcemap.json
       sent source map for module 'builtinds' in 44 ms
    GET /sourcemaps/builtinds/com/smartgwt/sample/client/BuiltInDS.java
    Last edited by Isomorphic; 20 May 2015, 08:17.

    Leave a comment:


  • Blama
    replied
    Hi Isomorphic,

    I forgot. The question in the GWT group (your last link) is from me. The "Restart SDM" issue is of course GWT only (as I wrote under the question) and would be a nice speedup (from GWT).

    I'm more concerned with the way more often happening steps
    Code:
    - A recompile triggered with no Java source change took just 0.07 seconds.
    - A recompile triggered with a simple string constant change or a new local variable took 2.8 seconds.
    In my "Change of one String and recompile"-logs you can see that the compilation took 3,837s and the total time is 36,245s.
    This 3,837s is near your 2.8 seconds and in the expected range with regards to your more powerful system. I'm worried about the time after that, from second 4 to 36.
    Perhaps this is linked to your "linked folders" (if it is not a command line option for the codeserver, could you explain what it is?).

    Thank you
    Blama

    Leave a comment:


  • Blama
    replied
    Hi Isomorphic,

    thanks for testing. I will retry with Chrome as well.
    I'm using i7-3632QM (Ivy Bridge, 2,2 GHz) with SDD Samsung 840 Pro. Assuming you use a SSD as well this configuration should be a bit slower than your setup, but not much.

    What do you mean by "used linked folders"?
    Can you provide the "Program arguments" from the "Java Application" in the Eclipse Debug configuration mask?
    Mine is (using Java like in your SDM-Setup guide):
    Code:
    -src src -workDir ${workspace_loc:builtinds}/codeserver -port 1234 com.smartgwt.sample.BuiltInDS -logLevel TRACE -war C:\Users\myuser\workspace\lib\smartgwtpower-5.0p\samples\built-in-ds\war -incremental -precompile -workDir C:\Users\myuser\workspace\lib\smartgwtpower-5.0p\samples\built-in-ds\codeserver
    The folder is not my Tomcat webapps folder. Do you have your Tomcat webapp folder there? Perhaps that saves the linking step some time, although I do not know how that should be possible.

    Do you see the static resources as well when using -logLevel DEBUG? If so, then it is a speed problem of my PC - although it still would be a waste of time, even on your system.

    Best regards
    Blama

    Leave a comment:


  • Isomorphic
    replied
    We don't see any unexpected behavior when testing the official 5.0p SDK, using the two overridden files you provided, and Chrome 42:

    - The initial processing upon launch of the CodeServer took 73.8 seconds.
    - The first compile triggered from the browser took 12.9 seconds.
    - A recompile triggered with no Java source change took just 0.07 seconds.
    - A recompile triggered with a simple string constant change or a new local variable took 2.8 seconds.

    These numbers depend on the specific PC of course (the machine above is a Sandy Bridge 3.9GHz desktop), but the important point is the ratio of first triggered compile time to the next (incremental) compile (triggered from the browser), which is 22% in this case for a simple change.

    The Eclipse project used to test this included GWT SDK 2.7.0 and all of the libraries in the SDK's lib directory in its build path, and used linked folders (pointing at the dirs in the SDK) for the src and war directory of the Eclipse project.

    It doesn't immediately look like there's anything here for Isomorphic to address. Any additional optimization would appear to be in GWT's court.

    Note that:
    - From this thread: https://groups.google.com/a/gwtproje...ws/rynZVZFyPHY it appears that for GWT 2.7.0 you may need to use the Chrome browser for caching to work.
    - A user has filed a bug similar to what you are reporting here: https://groups.google.com/forum/#!ms...0/Odc0If8LeRcJ against GWT, so that also would indicate it's not a SGWT issue. One comment mentions a fix might be in the next SDK release (2.8?)

    Leave a comment:

Working...
X