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)