示例#1
0
 public void count(
     Counter counter,
     int times,
     String name,
     Map<String, Object> context,
     Writer writer,
     Writer discardWriter,
     OutputStream discardStream)
     throws Exception {
   counter.beginning();
   GroupTemplate group = new GroupTemplate();
   group.enableOptimize();
   group.enableNativeCall();
   counter.initialized();
   Template template =
       group.getReaderTemplate(
           new InputStreamReader(
               BeetlCase.class.getClassLoader().getResourceAsStream("performance/books.btl")));
   for (Map.Entry<String, Object> entry : context.entrySet()) {
     template.set(entry.getKey(), entry.getValue());
   }
   counter.compiled();
   template.getText(writer);
   counter.executed();
   if (discardStream != null) {
     for (int i = times; i >= 0; i--) {
       template.getText(discardStream);
     }
   } else {
     for (int i = times; i >= 0; i--) {
       template.getText(discardWriter);
     }
   }
   counter.finished();
 }