I have a look at the source code of these two template engines, and the Jinja2 has over 10000 lines of code, while the tornado template just has less than 1000 lines of code.
When you have a simple usage case, their syntax is almost the same:
{% extends "base.html" %}
{% block title %}A bolder title{% end %}
{% block student %}
<li><span style="bold">{{ student.name }}</span></li>
{% end %}
So why Jinja2 has that much code, what is the difference that causes it? And which one is faster?