Tests:
  • reduce + find

    x
     
    const asset = {
        "id": "d6341699-44d9-40d4-96a7-a9e6399790f4",
        "equipmentFamily": "19XRV",
        "picControllerVersion": "PIC3",
    }
    const telemetryResponse = {
        "findTelemetry": {
            "data": [{
                    "id": "-",
                    "assetId": "9e54e15b-f7d8-4573-aa3a-aeed31ed1f40",
                    "timestamp": 1678968480000,
                    "brickClass": "Alarm",
                    "measureName": "al122",
                    "measureValue": true,
                    "createdAt": 1678982953477
                },
                {
                    "id": "-",
                    "assetId": "9e54e15b-f7d8-4573-aa3a-aeed31ed1f40",
                    "timestamp": 1678970700000,
                    "brickClass": "Alarm",
                    "measureName": "al160",
                    "measureValue": true,
                    "createdAt": 1678985127307
                }
            ],
            "limit": 1000
        }
    }
    const alarmMetadataResponses = [{
        getAlarmMetaData: {
            data: [{
                    alarmCode: "239",
                    chillerModel: "19XR",
                    controllerType: "PIC2",
                    type: "Alarm",
                    level: 1,
                    category: "PROTECTIVE LIMIT",
                    resetType: "Manual",
                },
                {
                    alarmCode: "243",
                    chillerModel: "19XR",
                    controllerType: "PIC2",
                    type: "Alarm",
                    level: 3,
                    category: "POTENTIAL FREEZE- UP",
                    resetType: "Manual",
                },
            ],
        },
    }, {
        getAlarmMetaData: {
            data: [{
                alarmCode: "253",
                chillerModel: "23XRV",
                controllerType: "PIC3",
                type: "Alarm",
                level: 1,
                category: "PROTECTIVE LIMIT",
                resetType: "Manual",
            }, ],
        },
    }, ];
    const getMappedAlarms = () => {
      const alarms = telemetryResponse?.findTelemetry?.data ?? [];
      const assetAlarms = alarms.filter((alarm) => asset.id === alarm?.assetId && Boolean(alarm));
      const alarmMetadataArray = alarmMetadataResponses
        .reduce((acc, response) => {
          return [
            ...acc,
            ...(response?.getAlarmMetaData?.data ?? []).filter((metadata) => Boolean(metadata))
          ]
        }, []);
        return assetAlarms.map((alarm) => {
         const telemetryAlarmCode = alarm.measureName.replace(/\D/g, "");
      
          const isMetadataMatches = (alarmMetadata) => {
            const {
              chillerModel,
              controllerType,
              alarmCode
            } = alarmMetadata ?? {};
            if (!chillerModel && !controllerType && !alarmCode) {
              return false;
            }
      
            return (
              asset.equipmentFamily === chillerModel &&
              asset.picControllerVersion === controllerType &&
              telemetryAlarmCode === alarmCode
            );
          };
      
          const metadata = alarmMetadataArray.find((data) => isMetadataMatches(data));
      
          return getTransformedAlarm(alarm, metadata);
        })
    }
    getMappedAlarms()
  • save on find

     
    const asset = {
        "id": "d6341699-44d9-40d4-96a7-a9e6399790f4",
        "equipmentFamily": "19XRV",
        "picControllerVersion": "PIC3",
    }
    const telemetryResponse = {
        "findTelemetry": {
            "data": [{
                    "id": "-",
                    "assetId": "9e54e15b-f7d8-4573-aa3a-aeed31ed1f40",
                    "timestamp": 1678968480000,
                    "brickClass": "Alarm",
                    "measureName": "al122",
                    "measureValue": true,
                    "createdAt": 1678982953477
                },
                {
                    "id": "-",
                    "assetId": "9e54e15b-f7d8-4573-aa3a-aeed31ed1f40",
                    "timestamp": 1678970700000,
                    "brickClass": "Alarm",
                    "measureName": "al160",
                    "measureValue": true,
                    "createdAt": 1678985127307
                }
            ],
            "limit": 1000
        }
    }
    const alarmMetadataResponses = [{
        getAlarmMetaData: {
            data: [{
                    alarmCode: "239",
                    chillerModel: "19XR",
                    controllerType: "PIC2",
                    type: "Alarm",
                    level: 1,
                    category: "PROTECTIVE LIMIT",
                    resetType: "Manual",
                },
                {
                    alarmCode: "243",
                    chillerModel: "19XR",
                    controllerType: "PIC2",
                    type: "Alarm",
                    level: 3,
                    category: "POTENTIAL FREEZE- UP",
                    resetType: "Manual",
                },
            ],
        },
    }, {
        getAlarmMetaData: {
            data: [{
                alarmCode: "253",
                chillerModel: "23XRV",
                controllerType: "PIC3",
                type: "Alarm",
                level: 1,
                category: "PROTECTIVE LIMIT",
                resetType: "Manual",
            }, ],
        },
    }, ];
    const getMappedAlarms = () => {
      const alarms = telemetryResponse?.findTelemetry?.data ?? [];
      const assetAlarms = alarms.filter((alarm) => asset.id === alarm?.assetId && Boolean(alarm));
      return assetAlarms.map((alarm) => {
        const telemetryAlarmCode = alarm.measureName.replace(/\D/g, "");
        const isMetadataMatches = (alarmMetadata) => {
          const {
            chillerModel,
            controllerType,
            alarmCode
          } = alarmMetadata ?? {};
          if (!chillerModel && !controllerType && !alarmCode) {
            return false;
          }
          return (
            asset.equipmentFamily === chillerModel &&
            asset.picControllerVersion === controllerType &&
            telemetryAlarmCode === alarmCode
          );
        };
        const metadata = null;
        alarmMetadataResponses.find((response) => {
          const metadata = response?.getAlarmMetaData?.data?.find((data) => isMetadataMatches(data));
          return metadata;
        });
        return getTransformedAlarm(alarm, metadata);
      })
    }
    getMappedAlarms()
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    reduce + find
    save on find

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 2 years ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36
Chrome 110 on Windows
View result in a separate tab
Test name Executions per second
reduce + find 684420.8 Ops/sec
save on find 1176040.8 Ops/sec