Executando verificação de segurança...
2

Executei uma série de benchmarks na minha máquina com as seguintes especificações:

  • WSL 2 Ubuntu 22.04.2 LTS
  • AMD Ryzen 7 5700x 4.6Ghz, 8 núcleos
  • RAM 16gb 3200Mhz CL18

Utilizei uma suíte de testes fornecida pelo @kht, que incluiu os seguintes casos de teste:

var Benchmark = require('benchmark');
var suite = new Benchmark.Suite;

suite
.add('desestruturação', function () {
    const n = 1000;
    let a = 0, b = 1;
    for (let i = 0; i < n; i++) {
      [a, b] = [b, a + b];
    }
})
.add('sem desestruturação', function () {
    const n = 1000;
    let a = 0, b = 1;
    for (let i = 0; i < n; i++) {
        let tmp = a;
        a = b;
        b += tmp;
    }
})
.add('desestruturação BigInt', function () {
    const n = 1000000n;
    let a = 0n, b = 1n;
    for (let i = 0n; i < n; i++) {
      [a, b] = [b, a + b];
    }
})
.add('sem desestruturação BigInt', function () {
    const n = 1000000n;
    let a = 0n, b = 1n;
    for (let i = 0n; i < n; i++) {
        let tmp = a;
        a = b;
        b += tmp;
    }
})
.on('complete', function () {
    console.log('Fastest is ' + this.filter('fastest').map('name'));
})
.on('cycle', function (event) {
    console.log(String(event.target));
})
.run({
    'async': true
});

Os resultados obtidos foram os seguintes:

TesteNodeBun
desestruturação1.350.540884.238
sem desestruturação1.392.0951.662.632
desestruturação BigInt0.160.10
sem desestruturação BigInt0.160.10
Carregando publicação patrocinada...