def getTemplateGenerationTimes(): template = "div#AllProducts\n" templateElements = [] for product in Factory.products.keys(): template += " > %(product)s#test%(product)s\n" % {'product': product} template = UITemplate.fromSHPAML(template) startTime = time.time() for x in xrange(100): templateElement = TemplateElement(template=template, factory=Factory) templateElement.setScriptContainer(templateElement.addChildElement(ScriptContainer())) templateElements.append(templateElement) doneSection() results['templateInit'] = time.time() - startTime html = "" startTime = time.time() for templateElement in templateElements: html += templateElement.toHtml() doneSection() generationTime = (time.time() - startTime) results['templateToHtml'] = generationTime results['templateToHtmlSize'] = len(html) results['templateCreate'] = results['templateInit'] + results['templateToHtml']
def getBigTableGenerationTime(): template = UITemplate.fromSHPAML("> dom-table#bigTableTest") table = [dict(a=1, b=2, c=3, d=4, e=5, f=6, g=7, h=8, i=9, j=10) for x in xrange(1000)] startTime = time.time() templateElement = TemplateElement(template=template, factory=Factory) for rowData in table: row = templateElement.bigTableTest.addChildElement(DOM.TR()) for data in rowData.itervalues(): row.addChildElement(DOM.TD()).addChildElement(TextNode(data)) doneSection() html = templateElement.toHtml() results['bigTable'] = time.time() - startTime results['bigTableSize'] = len(html)