Tests:
  • Spread

    x
     
    const a = {
        email: "abc@mail.com",
        phone: "12345678",
    };
    const b = {
        app_version: "AP.12",
        appsflyer_id: "askldjajkshdlkjh2323h4234j2l3j4h",
        advertising_id: "23;o4h2l34hl2kj3h4kj23h4",
        device_os_version: "12",
        device_name: "Aifon 15 PRO",
        firebase_instance_id: "2liu3hiuo23y4u23y4ui2y34iy3u4y234",
    };
    const c = {
      first_name: "lalala",
      last_name: "dadada"
    };
    const res = {
        email: null,
        phone: null,
        last_name: null,
        first_name: null,
        app_version: null,
        appsflyer_id: null,
        advertising_id: null,
        device_os_version: null,
        device_name: null,
        firebase_instance_id: null,
        ...a,
        ...b,
        ...c
    };
  • Object.assign

     
    const a = {
        email: "abc@mail.com",
        phone: "12345678",
    };
    const b = {
        app_version: "AP.12",
        appsflyer_id: "askldjajkshdlkjh2323h4234j2l3j4h",
        advertising_id: "23;o4h2l34hl2kj3h4kj23h4",
        device_os_version: "12",
        device_name: "Aifon 15 PRO",
        firebase_instance_id: "2liu3hiuo23y4u23y4ui2y34iy3u4y234",
    };
    const c = {
      first_name: "lalala",
      last_name: "dadada"
    };
    const res = Object.assign({
          email: null,
          phone: null,
          last_name: null,
          first_name: null,
          app_version: null,
          appsflyer_id: null,
          advertising_id: null,
          device_os_version: null,
          device_name: null,
          firebase_instance_id: null
        }, a, b, c);
  • Foreach

     
    const a = {
          email: "abc@mail.com",
          phone: "12345678",
    };
    const b = {
        app_version: "AP.12",
        appsflyer_id: "askldjajkshdlkjh2323h4234j2l3j4h",
        advertising_id: "23;o4h2l34hl2kj3h4kj23h4",
        device_os_version: "12",
        device_name: "Aifon 15 PRO",
        firebase_instance_id: "2liu3hiuo23y4u23y4ui2y34iy3u4y234",
    };
    const c = {
      first_name: "lalala",
      last_name: "dadada"
    };
    const res = {
          email: null,
          phone: null,
          last_name: null,
          first_name: null,
          app_version: null,
          appsflyer_id: null,
          advertising_id: null,
          device_os_version: null,
          device_name: null,
          firebase_instance_id: null,
          ...a
    };
    Object.keys(b).forEach(key => {
        res[key] = b[key];
      });
    Object.keys(c).forEach(key => {
        res[key] = c[key];
      });
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Spread
    Object.assign
    Foreach

    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/114.0.0.0 Safari/537.36
Chrome 114 on Mac OS X 10.15.7
View result in a separate tab
Test name Executions per second
Spread 8618732.0 Ops/sec
Object.assign 6108910.0 Ops/sec
Foreach 3536326.2 Ops/sec