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"/>
Announcement
Collapse
No announcement yet.
X
-
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:
-
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
BlamaLast edited by Blama; 21 Dec 2015, 05:24.
Leave a comment:
-
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:
-
Originally posted by Isomorphic View PostFor the test numbers, Oracle JDK 8 was used in Eclipse.
Originally posted by Isomorphic View PostIt'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.
Best regards
Blama
Leave a comment:
-
Originally posted by Blama View PostHi 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?
Originally posted by Blama View PostEven 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:
-
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:
-
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:
-
Hi Isomorphic
Originally posted by Isomorphic View PostCan 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 docsDeploying 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.)
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 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 PostIf you're referring to all the messages about copied resources, yes, we get them even for the quick (3 second) run for incremental changes.
Originally posted by Isomorphic View PostThe 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.
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
Leave a comment:
-
Originally posted by Blama View PostWhen 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.
Originally posted by Blama View PostIf you get the messages and are that fast anyway I have a problem with my system. If not, I'll have to search further.
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
Leave a comment:
-
Hi Isomorphic,
unfortunately I could not solve my long-linking problem, yet.
But I made two interesting discoveries.- 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. ... ... ...
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] ... ... ...
- 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:
- 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:
-
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
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>
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:
-
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.
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:
-
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
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:
-
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:
Leave a comment: