Lasso features a fast parser and built-in byte-code generator. The byte-code form of every page is cached so repeated calls to the same page results in very fast performance. Pages are recached automatically when the disk file changes.
Optimizations in Lasso further improve the speed when processing certain commonly used syntaxes.
Email Encoding
New in Lasso 8.5, the speed of email encoding has been improved dramatically. This will make it easier to send email to site visitors for the fastest response possible. Email merge features make sending email even faster since one message can be customized for many different recipients. The speed of parsing email download from POP servers has also been improved.
Multi-Site
Lasso allows different Web hosts to be served from separate processes. Each process can be scheduled in the most efficient way possible by the operating system. Each process can be started and stopped independently of the other sites on the server, preventing downtime.
Prototypes
Lasso uses prototypes for built-in data types and for custom types. The prototype is generated once and is used as a template for subsequent instances of the data type. This dramatically increased the speed of data type creation.
Compound Data Types
Lasso includes compound data types which are optimized for different purposes. By selecting the right data type for your algorithms the speed of your code can be dramatically increases. Lasso includes arrays, maps, pairs, tree maps, stacks, queues, priority queues, sets, and lists.
On-Demand Tags
Custom tags and data types can be loaded on-demand from tag libraries. This reduces the startup time of Lasso, but is seamless from an end-user perspective. Once a tag library is loaded it is cached in memory so it does not need to be executed again.
On-Demand Libraries
Libraries of custom tags or data types can be placed in the LassoLibraries folder. They will be loaded on-demand the first time they are referenced on a Lasso page and then remain in memory from that time on. This allows new tags to be added to Lasso dynamically.
Recursion and Execution Limits
Lasso automatically detects several common programming errors and terminates the offending code. This prevents a runaway process from dominating the processor, slowing down other code. Lasso detects unlimited recursion of include files or custom tag calls and detects code files that execute for an inordinately long time.
Caching
Flexible cache tags allow portions of a page to be easily cached. This is particularly useful when using data sources such as FileMaker that can present a bottleneck for an active site.