Since {include ... inline} does not inline code in Smarty v5 (#1152) I had a look around in the documentation and it seems that {block} tags are the meant to do exactly that. From the Template inheritance page:
Template inheritance is a compile time process which creates a single compiled template file. Compared to corresponding solutions based on subtemplates included with the {include} tag it does have much better performance when rendering.
However, when testing it, it created a compiled file for each of the templates in the inheritance chain and none of them contains the full result. Is the documentation out of date or is this a bug? Maybe I'm just missing some settings? I saw an issue (#1134) claiming that Smarty v5 is slower than Smarty v4. Could this be related?