Tests:
  • kata solution 1

    x
     
    function add (a, b) {
      var res = '', c = 0
      a = a.split('')
      b = b.split('')
      while (a.length || b.length || c) {
        c += ~~a.pop() + ~~b.pop()
        res = c % 10 + res
        c = c > 9
      }
      return res
    }
    add('63829983432984289347293874', '90938498237058927340892374089')
  • my solution

     
    function add(a, b) {
      let result = '';
      let remain = 0;
      if (b.length > a.length) {
        [a, b] = [b, a];
      }
      b = [...b];
      for (let i = a.length - 1; i >= 0; --i) {
        const n1 = Number(a[i]);
        const n2 = Number(b.pop() ?? 0);
        let sum = n1 + n2 + remain;
        if (sum > 9) {
          let temp = sum;
          sum %= 10;
          remain = (temp - sum) / 10;
        } else {
          remain = 0;
        }
        result = sum + result;
      }
      if (remain) {
        result = remain + result;
      }
      return result;
    }
    add('63829983432984289347293874', '90938498237058927340892374089')
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    kata solution 1
    my solution

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one year ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36
Chrome 119 on Mac OS X 10.15.7
View result in a separate tab
Test name Executions per second
kata solution 1 1969907.8 Ops/sec
my solution 253834.6 Ops/sec