[Henry it would be great if you could compare this with your earlier profiles when testing.]
Change ptw-20110302-zEx by [email protected] on 2011-03-02 18:20:29 EST in /Users/ptw/OpenLaszlo/trunk-devo for http://svn.openlaszlo.org/openlaszlo/trunk Summary: Improve CSS rule parsing Bugs Fixed: LPP-9785 CSS Parser needs to break up parsing of large rule sets (partial) Technical Reviewer: [email protected] (pending) QA Reviewer: [email protected] (pending) Overview: Rethink how to partition rules into cohorts: base on ability to discriminate applicability quickly, not on specificity. Remove concat-ing of applicable rules (which is a big overhead in time/space for large rule sets), replace with state machine that examines rules for applicability and only concats when applicable. Details: huge.css: Large CSS ruleset for testing speedtest.lzx: Use huge.css, add many styled subviews for lookup test. LzCSSStyle: See overview. Also: conditionalize debug printer, replace StyleDependencies object with a closure, break out [name=...] rules to their own cohort, only call the compound rule evaluator when the last selector completely matches. StyleSheetCompiler: Sort rules at compile time by specificity to reduce runtime sorting overhead. Tests: smokecheck, style/metasuite Files: A test/style/constraints/huge.css M test/style/constraints/speedtest.lzx M WEB-INF/lps/lfc/services/LzCSSStyle.lzs M WEB-INF/lps/server/src/org/openlaszlo/compiler/StyleSheetCompiler.java Changeset: http://svn.openlaszlo.org/openlaszlo/patches/ptw-20110302-zEx.tar
