benchmark: about 3.5x slower than ejs