Hash tables are used for all identifiers:
variables, array string indexes and functions.
Not always necessary, but quick.
=~ and !~ operators compile the regex at parsing only. Functions like ereg() and egrep() compile them at every call.
NASL2 allowed us to write more complex code: HTTP keep-alive was implemented in NASL by Renaud.
The results of keep-alive are disappointing apart from HTTPS servers.