http://gwt-code-reviews.appspot.com/127801/diff/1101/1102 File reference/Microbenchmarks/src/com/google/gwt/reference/microbenchmark/Microbenchmarks.gwt.xml (right):
http://gwt-code-reviews.appspot.com/127801/diff/1101/1102#newcode2 Line 2: <!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 0.0.999//EN" "http://google-web-toolkit.googlecode.com/svn/tags/0.0.999/distro-source/core/src/gwt-module.dtd"> On 2009/12/22 14:56:08, t.broyer wrote: > 0.0.999 ? > Better remove the DOCTYPE altogether, no? Done. http://gwt-code-reviews.appspot.com/127801/diff/1101/1106 File reference/Microbenchmarks/src/com/google/gwt/reference/microbenchmark/client/Microbenchmarks.java (right): http://gwt-code-reviews.appspot.com/127801/diff/1101/1106#newcode35 Line 35: public class Microbenchmarks implements EntryPoint { I went the other way, Microbenchmarks all around. http://gwt-code-reviews.appspot.com/127801/diff/1101/1106#newcode59 Line 59: horizontalPanel.remove(runningLabel); I've done this, and it has a drastic effect on the IE numbers. When the tests run synchronously in the click handler, succeeding tests that rely on getElementById roughly double in length on each click of the run button. (!) By adding this deferred command, that pathology goes away. I'm not sure what to do with this information. http://gwt-code-reviews.appspot.com/127801/diff/1101/1108 File reference/Microbenchmarks/src/com/google/gwt/reference/microbenchmark/client/TestDom.java (right): http://gwt-code-reviews.appspot.com/127801/diff/1101/1108#newcode25 Line 25: static final String HTML = "<div>" As we discussed offline, UIBinder strips whitespace. Collapsing it here can only make the dom cases faster. But, yes, clearly right thing to do. Fixed. http://gwt-code-reviews.appspot.com/127801/diff/1101/1108#newcode38 Line 38: private static final DivElement detachedDiv = Document.get().createDivElement(); Negligible, mirrors what would happen in an automated implementation, and happens before the tests are run. http://gwt-code-reviews.appspot.com/127801/diff/1101/1110 File reference/Microbenchmarks/src/com/google/gwt/reference/microbenchmark/client/TestDomBinder.ui.xml (right): http://gwt-code-reviews.appspot.com/127801/diff/1101/1110#newcode1 Line 1: <ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'> It does. And trying to be realistic about usage. http://gwt-code-reviews.appspot.com/127801/diff/1101/1111 File reference/Microbenchmarks/src/com/google/gwt/reference/microbenchmark/client/TestFlows.java (right): http://gwt-code-reviews.appspot.com/127801/diff/1101/1111#newcode7 Line 7: public class TestFlows extends Composite { On 2009/12/22 19:38:26, jaimeyap wrote: > Is flow panel nothing more than a thin wrapper around a DIV? > Should probably document this so we know what we are comparing. Done. http://gwt-code-reviews.appspot.com/127801/diff/1101/1115 File reference/Microbenchmarks/src/com/google/gwt/reference/microbenchmark/client/TestWidgetBinder.ui.xml (right): http://gwt-code-reviews.appspot.com/127801/diff/1101/1115#newcode2 Line 2: xmlns:gwt='urn:import:com.google.gwt.user.client.ui'> On 2009/12/22 19:38:26, jaimeyap wrote: > Double check this to make sure the resulting DOM + whitespace is comparable to > the other tests. Done. http://gwt-code-reviews.appspot.com/127801/diff/1101/1116 File reference/Microbenchmarks/src/com/google/gwt/reference/microbenchmark/client/WidgetCreation.java (right): http://gwt-code-reviews.appspot.com/127801/diff/1101/1116#newcode63 Line 63: }, new Maker("FlowPanel") { On 2009/12/22 19:38:26, jaimeyap wrote: > Should probably also include these textual descriptions in the individual test > case classes. Makes looking through them easier. Done. http://gwt-code-reviews.appspot.com/127801/diff/1101/1116#newcode75 Line 75: }, new Maker("Complex UI, pure dom, get children by id") { Just beefing up the descriptions, and moving them to the test cases. http://gwt-code-reviews.appspot.com/127801/diff/1101/1116#newcode178 Line 178: long start = System.currentTimeMillis(); On 2009/12/22 19:38:26, jaimeyap wrote: > For a time sensitive benchmark framework, I snub my nose at looping in the long > emulation. Why not just have a simple private utility method: > private static native double currentTimeMillis() /*-{ > return (new Date()).getTime(); > }-*/; Done. http://gwt-code-reviews.appspot.com/127801/diff/1101/1116#newcode181 Line 181: r.add(widgets[i]); I've uploaded the various cosmetic fixes. Will tackle this timing issue next. http://gwt-code-reviews.appspot.com/127801 -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
