Как увеличить скорость выполнения моего кода? [закрыто]Javascript

Форум по Javascript
Ответить
Anonymous
 Как увеличить скорость выполнения моего кода? [закрыто]

Сообщение Anonymous »

Приведенный ниже код используется в ServiceNow. У меня время выполнения кода в среднем 12-16 секунд. Мне нужно увеличить время выполнения кода до менее 5 секунд. Ниже приведен мой код.

Код: Выделить всё

var usedByOrgVal = "All";

var arrFinCount = [];

var arr = [];

if (usedByOrgVal == "All") {
arr = ["operational_status!=6", "operational_status!=6^owned_by!=null", "operational_status!=6^u_in_coverage=Yes", "operational_status!=6^u_complete=Yes", "operational_status!=6^u_correct=Yes", "operational_status!=6^u_in_coverage=No", "operational_status!=6^u_complete=No", "operational_status!=6^u_correct=No", "nameISNOTEMPTY^operational_status!=6^u_resp_orgISNOTEMPTY^NQnameISNOTEMPTY^operational_status!=6^u_resp_orgISEMPTY^assetISEMPTY"];
filterList(arr);
} else {
arr = ["operational_status!=6^owned_by.u_program=" + usedByOrgVal, "operational_status!=6^owned_by!=null^owned_by.u_program=" + usedByOrgVal, "operational_status!=6^u_in_coverage=Yes^owned_by.u_program=" + usedByOrgVal, "operational_status!=6^u_complete=Yes^owned_by.u_program=" + usedByOrgVal, "operational_status!=6^u_correct=Yes^owned_by.u_program=" + usedByOrgVal, "operational_status!=6^u_in_coverage=No^owned_by.u_program=" + usedByOrgVal, "operational_status!=6^u_complete=No^owned_by.u_program=" + usedByOrgVal, "operational_status!=6^u_correct=No^owned_by.u_program=" + usedByOrgVal, "nameISNOTEMPTY^operational_status!=6^u_resp_orgISNOTEMPTY^NQnameISNOTEMPTY^operational_status!=6^u_resp_orgISEMPTY^assetISEMPTY^owned_by.u_program=" + usedByOrgVal];
filterList(arr);
}

gs.info("arrFinCount: " + JSON.stringify(arrFinCount));

function filterList(arrVal) {
for (var i = 0; i < arrVal.length; i++) {
var cal = new GlideRecord("cmdb_ci_server");
cal.addEncodedQuery(arrVal[i]);
cal.query();
arrFinCount.push(cal.getRowCount());
}
}

var obj = {
Ownership: [{
Value: arrFinCount[1],
Percentage: isNaN(((arrFinCount[1] / arrFinCount[0]) * 100).toFixed(2)) ? "0.00" : ((arrFinCount[1] / arrFinCount[0]) * 100).toFixed(2),
}],
Coverage: [{
InCoverage: arrFinCount[2],
OutOfCoverage: arrFinCount[5],
Percentage: isNaN(((arrFinCount[2] / arrFinCount[0]) * 100).toFixed(2)) ? "0.00" : ((arrFinCount[2] / arrFinCount[0]) * 100).toFixed(2),
}],
Completeness: [{
Complete: arrFinCount[3],
NotComplete: arrFinCount[6],
Percentage: isNaN(((arrFinCount[3] / arrFinCount[0]) * 100).toFixed(2)) ? "0.00" : ((arrFinCount[3] / arrFinCount[0]) * 100).toFixed(2),
}],
Correctness: [{
Correct: arrFinCount[4],
NotCorrect: arrFinCount[7],
Percentage: isNaN(((arrFinCount[4] / arrFinCount[0]) * 100).toFixed(2)) ? "0.00" : ((arrFinCount[4] / arrFinCount[0]) * 100).toFixed(2),
}],
ActiveServerCount: [{
Count: arrFinCount[8]
}],
};

gs.info("obj:" + JSON.stringify(obj));

return obj;


Я попробовал добавить функцию обратного вызова sync/async, но не помогло. Есть ли какая-либо другая логика, которую мы можем использовать, чтобы уменьшить время выполнения

Подробнее здесь: https://stackoverflow.com/questions/793 ... ution-time
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»