Optimizations

Compiler optimization

Our compiler is in Alpha stage, so any PR or fix are welcome. Compiler improves performance for basic requests which were performed by benchmarks. But you can optimize your requests by doing some basic things. Let's go, there will be few tweaks to read.

req.headers, req.params only can be optimized

Will be optimized

  • req.headers.foo

  • req.headers["foo"]

  • const { foo } = req.headers

Example,

app.get((req, res) => {
    const { origin } = req.headers; // This line will be optimized by compiler
});

Will not be optimized

  • { foo } = headers

  • ({ headers }, res) => {...}

Example,

app.get(({ headers }, res) => {
    // or const { headers } = req;
    const { origin } = headers; // But this line will not be optimized
});

Precompile / Ahead-of-Time compile

Use precompile option to cache the route with entire response. Any await and waits are fired once as later they will be replaced with compiled content

Async example

import { setTimeout } from 'node:timers/promises';

app.get({ precompile: true }, async (req, res) => {
    await setTimeout(5000);
    
    return res.end('string result here');
});

Cache example

app.get({ precompile: true }, (req, res) => {
    return res.end('success')
});

Improve error stack trace logs

Try to call node --enable-source-maps server.js

Last updated

Was this helpful?