Compacting echos

All of the extra instructions are converted to echos of different types.  As a result, we end up with many consecutive echos, many of them with string literals. If left alone, it would be a complete drag in the performance of the resulting code.   The compact_echo plugin handles that.  The source files compact_echo.h and compact_echo.cpp are a separate plugin, usefull on its own, besides the pre-compiler.

 Compact_echo will convert this:

	echo "1" . (1 . $a ), 'ab';
	echo 'c' ,2;
	if ($a) {
		echo 2;
		echo $a;

Into this:

	echo "1", 1, $a, "abc", 2;
		echo 2, $a;

Notice it compacts into a single echo the echos found in multiple lines, ignoring intermediate comments and it replaces the string concatenation operator (.) by simply echoing each operand as a separate argument, which is faster.  On the other hand, if there are two consecutive string literals, it concatenates them into a single one at pre-compile time, which saves time at execution time.

< Previous: Escaped echo


Next: Validation >