Hey DEV community! đź‘‹ I'm back again.
If you think Classic ASP is dead, let me tell you: it is now more alive than ever.
Recently, I completed a total refactoring of the codebase for version 2.0 of AxonASP, my open-source Go engine for VBScript and Classic ASP. The goal wasn't just to keep legacy code breathing; I wanted to push the boundaries of what this 90s language could actually achieve on modern hardware.
I want to share some of the deep engineering optimizations we implemented under the hood to make this happen.
⚡ Zero AST, Pure Bytecode
In this rewrite, I made a huge architectural leap: threw out the Abstract Syntax Tree (AST).
Instead, the new single-pass compiler emits bytecode directly to a stack-based Virtual Machine. By eliminating the AST, AxonASP executes scripts with virtually zero-allocation overhead. The memory footprint drops drastically, and execution is fast.
🔄 IIS-Style VM Pooling & Advanced Caching
To handle high concurrency, I implemented an advanced VM pool modeled perfectly after the original IIS architecture, but backed by Go's native goroutines. Also I combined this with aggressive script caching, and even implemented compilation caching for dynamic execution (eval, execute, and executeglobal). The result is that request processing times are faster compared to traditional ASP
🛠️ Making ASP a Joy to Write Again
Pure speed is great, but developer experience matters just as much. We didn't stop at just supporting the legacy standard library. We injected over 60 custom Axon functions directly into the runtime. You now have access to advanced array manipulation, native JSON handling, and cryptographic tools right out of the box. It actually makes writing ASP a joy again.
đź§Ş Test-Driven ASP (Yes, really)
Say goodbye to broken scripts and regressions. I wanted to bring modern development practices to the language, so we built the new axonasp-testsuite executable. It allows you to write and run automated test suites natively, directly against your .asp files! TDD in Classic ASP is finally a reality.
If you are curious about how all of this works, or if you have a legacy application you want to rescue, we’ve put together a complete, comprehensive manual right inside the repository to help you get started.
Classic ASP might be a piece of retro-computing history, but with these optimizations, it's ready for the modern web. I'd love to hear what you guys think of.
👉 Check out the repo and the source code here: https://github.com/guimaraeslucas/axonasp
Top comments (0)