cache some calculations which should increase performance.

[?]
Sep 14, 2020, 6:40 PM
TDBVUKLOAGANU3DGDSQBTFOADRDFRS2E7OQIVFRCMWU7NPWJ2KCQC

Dependencies

  • [2] XUZPBRE6 main.js: fix regression. lib_ls.js: refactor.
  • [3] U2SGR33G hacker.js: minor refactor.
  • [4] TXTXXNNB hacker.js: refactor schedule correction logic into schedule making logic to prevent having to iterate to schedule twice.
  • [5] OUSJMLGR main.js: fix typo. hacker.js: refactor boolean_script_running into boolean_array_scripts_any_running to avoid repeat calls.
  • [6] QAPXJ43A hacker.js, weaken_manager.js: use void_copy_script_to from lib_ram_script to copy worker scripts to servers. README.md: update.
  • [7] HSNSECD5 all: refactor. main.js: fix call to `void_kill_script_named_server_named`.
  • [8] JGNALSUQ add "cyclic_weaken.js" feature. hacker.js, main.js, libs: refactor. README.md: update.
  • [9] 6PAXZMAI change license to BSD-2-Clause-Patent. README.md: fix some typos. lib_score.js: fix wrong hacking level comparison that prevented script from working properly in early game.
  • [10] 2WOLGB42 README.md: update. kill.js: fix argument parser. lshw.js: add `-p` option. increase information given. main.js: fix error message. set saner defaults. hacker.js: split some functions into "lib_time.js" and "lib_score.js". ram.js: fix.
  • [11] JS52JD4Q weaken_manager.js: add. lib_server_used.js: move to lib_ram_script. lib_ps: delete. main.js, hacker.js, lib_ram_script.js: refactor. README.md: update.
  • [12] IFVY3INI contracts.js: add --verbose and --check-delay options. README.md: update.
  • [13] ZVQK2652 executables: fix help message.
  • [14] FBAPT2WW executables: dynamically load help messages. lshw.js, main.js: add options to change score correction method and score factor multipliers. README.md: update.
  • [15] 2BKHJI2S init
  • [16] SLSWBNYT added ram utilisation logic to `ram.js` and `servers.js`. split and refactored redundant code into separate library files.
  • [17] SXEJJKPI executables: add `--help` flag. hacker.js: change scheduling logic. refactor. kill.js: allow handling more than one server or script at a time. cyclic_weaken.js: add. README.md: update.
  • [18] 5DIUM5GJ hacknet.js: convert from helper script to stand-alone script. main.js, README.md: update to accommodate "hacknet.js" changes. README.md: add "Troubleshooting" section and alter misleading information about required server for installation.
  • [19] CEZ56FCM hacknet.js: make this run based on whether the ratio of upgrades are still within threshold instead of until Netburners requirements are met, to make it more flexible. main.js, README.md: include changes to accomodate "hacknet.js" updates.
  • [20] PUMDUVMZ hacker.js: add logic to copy job script to server.
  • [21] Y5OWMCQR all: remove unecessary uses of `exec`. refactor. main.js: add RAM reservation logic. lib_ram.js: renamed to lib_ram_server.js. README.js: update.
  • [22] G7YVCY6H lib_score.js: refactor. add two functions for score correction. remove unneeded arbitrary hard-coded multipliers.
  • [23] BKG7YVUV main.js, hacker.js, servers.js, ram.js: refactor.
  • [24] 3TZILRX2 servers.js: fix and refactor.
  • [*] 6TF4T3E2 lshw.js: fix function call typo.

Change contents

  • edit in sbin/weaken_manager.js at line 10
    [6.1282]
    [6.1282]
    const
    float_period_check = 1e3 * ns.args[0],
    string_file = ns.args[1],
    integer_threads = ns.args[2],
    array_arguments = [ns.args[3]];
  • replacement in sbin/weaken_manager.js at line 20
    [6.1385][6.1385:1488]()
    file: ns.args[1],
    threads_or_ram_botnet: ns.args[2],
    args: [ns.args[3]],
    [6.1385]
    [6.1488]
    file: string_file,
    threads_or_ram_botnet: integer_threads,
    args: array_arguments,
  • replacement in sbin/weaken_manager.js at line 26
    [6.1515][6.1515:1553]()
    await ns.sleep(1e3 * ns.args[0]);
    [6.1515]
    [6.1553]
    await ns.sleep(float_period_check);
  • replacement in sbin/servers.js at line 1
    [6.2445][6.6:263]()
    // servers.js - 8.85GB - continually buys the best server with cash available if ram utilisation of the network is over threshold, unless there are 25 servers already, in which case deletes the worst server, unless all 25 have RAM == PurchasedServerMaxRam.
    [6.2445]
    [6.263]
    /* servers.js - 8.85GB - continually buys the best server with cash available if ram utilisation of the network is over threshold, unless there are 25 servers already, in which case deletes the worst server, unless all 25 have RAM == PurchasedServerMaxRam. TODO:
    * reduce duplicate code
    */
  • replacement in sbin/servers.js at line 10
    [6.107][6.107:154]()
    const float_period_check = 1e3 * ns.args[0],
    [6.107]
    [6.154]
    const
    float_period_check = 1e3 * ns.args[0],
  • replacement in sbin/servers.js at line 64
    [6.276][6.1724:1822](),[6.1724][6.1724:1822]()
    const array_servers_bought = ns.getPurchasedServers();
    if (array_servers_bought.length > 0) {
    [6.276]
    [6.277]
    const
    array_servers_bought = ns.getPurchasedServers(),
    array_servers_bought_length = array_servers_bought.length;
    if (array_servers_bought_length > 0) {
  • replacement in sbin/servers.js at line 71
    [6.42][6.42:100]()
    integer_index_server < array_servers_bought.length;
    [6.42]
    [6.100]
    integer_index_server < array_servers_bought_length;
  • replacement in sbin/servers.js at line 82
    [6.658][6.2277:2375](),[6.2277][6.2277:2375]()
    const array_servers_bought = ns.getPurchasedServers();
    if (array_servers_bought.length > 0) {
    [6.658]
    [6.659]
    const
    array_servers_bought = ns.getPurchasedServers(),
    array_servers_bought_length = array_servers_bought.length;
    if (array_servers_bought_length > 0) {
  • replacement in sbin/servers.js at line 90
    [6.250][6.250:308]()
    integer_index_server < array_servers_bought.length;
    [6.250]
    [6.308]
    integer_index_server < array_servers_bought_length;
  • replacement in sbin/servers.js at line 93
    [6.899][6.899:964]()
    let integer_server_ram_total = float_get_server_ram_total(
    [6.899]
    [6.964]
    const integer_server_ram_total = float_get_server_ram_total(
  • replacement in sbin/servers.js at line 107
    [6.1287][6.3041:3139](),[6.3041][6.3041:3139]()
    const array_servers_bought = ns.getPurchasedServers();
    if (array_servers_bought.length > 0) {
    [6.1287]
    [6.1288]
    const
    array_servers_bought = ns.getPurchasedServers(),
    array_servers_bought_length = array_servers_bought.length;
    if (array_servers_bought_length > 0) {
  • replacement in sbin/servers.js at line 115
    [6.507][6.507:565]()
    integer_index_server < array_servers_bought.length;
    [6.507]
    [6.565]
    integer_index_server < array_servers_bought_length;
  • replacement in sbin/servers.js at line 118
    [6.1527][6.1527:1592]()
    let integer_server_ram_total = float_get_server_ram_total(
    [6.1527]
    [6.1592]
    const integer_server_ram_total = float_get_server_ram_total(
  • replacement in sbin/servers.js at line 152
    [6.2533][6.2533:2620]()
    const integer_server_ram_biggest_afforded = integer_get_server_ram_biggest_afforded(
    [6.2533]
    [6.2620]
    const
    integer_server_ram_biggest_afforded = integer_get_server_ram_biggest_afforded(
  • replacement in sbin/servers.js at line 172
    [6.3133][6.3133:3206]()
    const integer_servers_bought_amount = ns.getPurchasedServers().length,
    [6.3133]
    [6.3206]
    const
    integer_servers_bought_amount = ns.getPurchasedServers().length,
  • replacement in sbin/servers.js at line 196
    [6.3942][6.3942:4015]()
    const integer_servers_bought_amount = ns.getPurchasedServers().length,
    [6.3942]
    [6.4015]
    const
    integer_servers_bought_amount = ns.getPurchasedServers().length,
  • replacement in sbin/ram.js at line 4
    [6.5308][6.5308:5355]()
    const float_period_check = 1e3 * ns.args[0],
    [6.5308]
    [6.5355]
    const
    float_period_check = 1e3 * ns.args[0],
  • replacement in sbin/programs.js at line 3
    [6.5848][6.5848:5928]()
    const float_period_check = 1e3 * ns.args[0],
    array_programs = ns.args[1];
    [6.5848]
    [6.5928]
    const
    float_period_check = 1e3 * ns.args[0],
    array_programs = ns.args[1],
    array_programs_length = array_programs.length;
  • replacement in sbin/programs.js at line 12
    [6.766][6.766:819]()
    integer_index_program < array_programs.length;
    [6.766]
    [6.819]
    integer_index_program < array_programs_length;
  • replacement in sbin/hacker.js at line 167
    [5.159][6.4505:4552](),[6.4505][6.4505:4552]()
    const array_servers = array_get_servers(ns);
    [5.159]
    [6.4552]
    const
    array_scripts_length = array_scripts.length,
    array_servers = array_get_servers(ns),
    array_servers_length = array_servers.length;
  • replacement in sbin/hacker.js at line 173
    [6.4594][6.4594:4643]()
    integer_index_server < array_servers.length;
    [6.4594]
    [6.4643]
    integer_index_server < array_servers_length;
  • replacement in sbin/hacker.js at line 176
    [6.4676][5.160:238](),[5.238][6.4791:4833](),[6.4791][6.4791:4833]()
    const array_scripts_running = ns.ps(array_servers[integer_index_server]);
    if (array_scripts_running.length > 0)
    [6.4676]
    [6.4833]
    const
    array_scripts_running = ns.ps(array_servers[integer_index_server]),
    array_scripts_running_length = array_scripts_running.length;
    if (array_scripts_running_length > 0) {
  • replacement in sbin/hacker.js at line 182
    [6.4883][6.4883:4944]()
    integer_index_script < array_scripts_running.length;
    [6.4883]
    [6.4944]
    integer_index_script < array_scripts_running_length;
  • replacement in sbin/hacker.js at line 184
    [6.4975][5.239:247]()
    )
    [6.4975]
    [5.247]
    ) {
  • replacement in sbin/hacker.js at line 187
    [5.302][5.302:358]()
    integer_index_scripts < array_scripts.length;
    [5.302]
    [5.358]
    integer_index_scripts < array_scripts_length;
  • replacement in sbin/hacker.js at line 189
    [5.392][5.392:402]()
    )
    [5.392]
    [5.402]
    ) {
  • replacement in sbin/hacker.js at line 194
    [5.547][5.547:569]()
    return !0
    [5.547]
    [6.5191]
    return !0;
    }
    }
    }
  • replacement in sbin/hacker.js at line 199
    [6.5195][5.570:582]()
    return !1
    [6.5195]
    [6.5208]
    return !1;
  • edit in sbin/hacker.js at line 902
    [6.31287]
    [6.31287]
    const array_schedule_length = array_schedule.length;
  • replacement in sbin/hacker.js at line 905
    [6.31326][6.31326:31373]()
    integer_index_job < array_schedule.length;
    [6.31326]
    [6.31373]
    integer_index_job < array_schedule_length;
  • replacement in sbin/hacker.js at line 939
    [6.32094][6.32094:32218]()
    const parent_window = parent["window"];
    parent_window.d = parent_window["document"];
    parent_window.w = parent_window;
    [6.32094]
    [3.11]
    // exposes document for free
    const object_document = parent["document"];
  • replacement in sbin/hacker.js at line 956
    [6.32797][6.32797:32848]()
    d.string_server_target = string_server_target;
    [6.32797]
    [6.32848]
    object_document.string_server_target = string_server_target;
  • replacement in sbin/hacker.js at line 1016
    [3.1325][3.1325:1380]()
    (d.string_server_target = string_server_target),
    [3.1325]
    [6.34009]
    (object_document.string_server_target = string_server_target),
  • replacement in sbin/cyclic_weaken.js at line 4
    [6.938][6.938:976]()
    parent_window = parent["window"];
    [6.938]
    [6.976]
    // exposes document for free
    object_document = parent["document"];
  • replacement in sbin/cyclic_weaken.js at line 7
    [6.984][6.984:1070]()
    parent_window.d = parent_window["document"],
    parent_window.w = parent_window;
    [6.984]
    [6.1070]
    ;
  • replacement in sbin/cyclic_weaken.js at line 12
    [6.1093][6.1093:1140]()
    await ns.weaken(d.string_server_target);
    [6.1093]
    [6.1140]
    await ns.weaken(object_document.string_server_target);
  • replacement in sbin/botnet.js at line 8
    [6.7094][6.55973:56040](),[6.55973][6.55973:56040](),[6.56040][6.7095:7147]()
    const array_servers_unrooted = array_get_servers_unrooted(ns);
    if (0 === array_servers_unrooted.length) break;
    [6.7094]
    [6.7147]
    const
    array_servers_unrooted = array_get_servers_unrooted(ns),
    array_servers_unrooted_length = array_servers_unrooted.length;
    if (0 === array_servers_unrooted_length) break;
  • replacement in sbin/botnet.js at line 14
    [6.3267][6.3267:3327]()
    integer_index_server < array_servers_unrooted.length;
    [6.3267]
    [6.3327]
    integer_index_server < array_servers_unrooted_length;
  • replacement in sbin/botnet.js at line 42
    [6.7549][6.7549:7598]()
    const array_exploits = array_get_exploits(ns);
    [6.7549]
    [6.7598]
    const
    array_exploits = array_get_exploits(ns),
    array_exploits_length = array_exploits.length;
  • replacement in sbin/botnet.js at line 47
    [6.3476][6.3476:3527]()
    integer_index_exploit < array_exploits.length;
    [6.3476]
    [6.3527]
    integer_index_exploit < array_exploits_length;
  • edit in sbin/botnet.js at line 50
    [6.7714][6.3556:3631]()
    const string_exploit_function = array_exploits[integer_index_exploit];
  • replacement in sbin/botnet.js at line 51
    [6.7795][6.7795:7848]()
    string_exploit_function(string_server_target);
    [6.7795]
    [6.7848]
    array_exploits[integer_index_exploit](string_server_target);
  • replacement in lib/lib_servers.js at line 5
    [6.2692][6.2692:2767]()
    const string_host = ns.getHostname(),
    array_servers = [string_host];
    [6.2692]
    [6.2767]
    const
    array_servers = [ns.getHostname()],
    array_servers_length = array_servers.length;
  • replacement in lib/lib_servers.js at line 10
    [6.5619][6.5619:5668]()
    integer_index_server < array_servers.length;
    [6.5619]
    [6.5668]
    integer_index_server < array_servers_length;
  • replacement in lib/lib_servers.js at line 13
    [6.2882][6.5696:5773]()
    const array_scan_results = ns.scan(array_servers[integer_index_server]);
    [6.2882]
    [6.2883]
    const
    array_scan_results = ns.scan(array_servers[integer_index_server]),
    array_scan_results_length = array_scan_results.length;
  • replacement in lib/lib_servers.js at line 18
    [6.5815][6.5815:5876]()
    integer_index_scan_result < array_scan_results.length;
    [6.5815]
    [6.5876]
    integer_index_scan_result < array_scan_results_length;
  • edit in lib/lib_score.js at line 5
    [6.3716423]
    [6.3716423]
    const array_numbers_length = array_numbers.length;
  • replacement in lib/lib_score.js at line 9
    [6.6108][6.6108:6157]()
    integer_index_number < array_numbers.length;
    [6.6108]
    [6.6157]
    integer_index_number < array_numbers_length;
  • replacement in lib/lib_score.js at line 13
    [6.6241][6.3716612:3716657](),[6.3716612][6.3716612:3716657]()
    return float_total / array_numbers.length;
    [6.6241]
    [6.3716657]
    return float_total / array_numbers_length;
  • edit in lib/lib_score.js at line 19
    [6.1679]
    [6.1679]
    float_mean = float_get_mean(array_numbers),
  • replacement in lib/lib_score.js at line 21
    [6.1731][6.1731:1787]()
    const float_mean = float_get_mean(array_numbers);
    [6.1731]
    [6.1787]
    const array_numbers_length = array_numbers.length;
  • replacement in lib/lib_score.js at line 25
    [6.6280][6.6280:6333]()
    integer_index_number < array_numbers.length;
    [6.6280]
    [6.6333]
    integer_index_number < array_numbers_length;
  • replacement in lib/lib_score.js at line 32
    [6.2096][6.2096:2163]()
    return float_sum_squared_differences / array_numbers.length;
    [6.2096]
    [6.2163]
    return float_sum_squared_differences / array_numbers_length;
  • replacement in lib/lib_score.js at line 38
    [6.2309][6.2309:2364]()
    (float_original - float_get_mean(array_numbers)) /
    [6.2309]
    [6.2364]
    (float_original - float_mean) /
  • replacement in lib/lib_score.js at line 59
    [6.2978][6.3716740:3716772](),[6.3716740][6.3716740:3716772]()
    let array_servers_trait = [];
    [6.2978]
    [6.3716772]
    const
    array_servers_length = array_servers.length,
    array_servers_trait = [];
  • replacement in lib/lib_score.js at line 64
    [6.6460][6.6460:6509]()
    integer_index_server < array_servers.length;
    [6.6460]
    [6.6509]
    integer_index_server < array_servers_length;
  • replacement in lib/lib_score.js at line 87
    [6.6818][6.6818:6914]()
    const array_servers_rooted = array_get_servers_rooted(ns);
    let array_servers_hackable = [];
    [6.6818]
    [6.6914]
    const
    array_servers_rooted = array_get_servers_rooted(ns),
    array_servers_rooted_length = array_servers_rooted.length,
    array_servers_hackable = [];
  • replacement in lib/lib_score.js at line 93
    [6.6956][6.6956:7012]()
    integer_index_server < array_servers_rooted.length;
    [6.6956]
    [6.7012]
    integer_index_server < array_servers_rooted_length;
  • replacement in lib/lib_root.js at line 9
    [6.3148][6.3148:3195]()
    const array_servers = array_get_servers(ns),
    [6.3148]
    [6.3195]
    const
    array_servers = array_get_servers(ns),
    array_servers_length = array_servers.length,
  • replacement in lib/lib_root.js at line 15
    [6.7412][6.7412:7461]()
    integer_index_server < array_servers.length;
    [6.7412]
    [6.7461]
    integer_index_server < array_servers_length;
  • replacement in lib/lib_root.js at line 25
    [6.3456][6.3456:3503]()
    const array_servers = array_get_servers(ns),
    [6.3456]
    [6.3503]
    const
    array_servers = array_get_servers(ns),
    array_servers_length = array_servers.length,
  • replacement in lib/lib_root.js at line 31
    [6.7655][6.7655:7704]()
    integer_index_server < array_servers.length;
    [6.7655]
    [6.7704]
    integer_index_server < array_servers_length;
  • replacement in lib/lib_ram_server.js at line 27
    [6.3183][6.3720679:3720740](),[6.36605][6.3720679:3720740](),[6.3720679][6.3720679:3720740]()
    const array_servers_rooted = array_get_servers_rooted(ns);
    [6.36605]
    [6.3184]
    const
    array_servers_rooted = array_get_servers_rooted(ns),
    array_servers_rooted_length = array_servers_rooted.length;
  • replacement in lib/lib_ram_server.js at line 33
    [6.8143][6.8143:8206]()
    integer_index_server_rooted < array_servers_rooted.length;
    [6.8143]
    [6.8206]
    integer_index_server_rooted < array_servers_rooted_length;
  • replacement in lib/lib_ram_server.js at line 53
    [6.8415][6.8415:8476]()
    const array_servers_rooted = array_get_servers_rooted(ns);
    [6.8415]
    [6.8476]
    const
    array_servers_rooted = array_get_servers_rooted(ns),
    array_servers_rooted_length = array_servers_rooted.length;
  • replacement in lib/lib_ram_server.js at line 59
    [6.8559][6.8559:8622]()
    integer_index_server_rooted < array_servers_rooted.length;
    [6.8559]
    [6.8622]
    integer_index_server_rooted < array_servers_rooted_length;
  • replacement in lib/lib_ram_script.js at line 51
    [6.1348][6.1348:1377]()
    const array_schedule = [];
    [6.1348]
    [6.1377]
    const
    array_scripts_length = array_scripts.length,
    array_schedule = [];
  • replacement in lib/lib_ram_script.js at line 61
    [6.1538][6.1538:1587]()
    integer_index_script < array_scripts.length;
    [6.1538]
    [6.1587]
    integer_index_script < array_scripts_length;
  • replacement in lib/lib_ram_script.js at line 64
    [6.1620][6.1620:1683]()
    const object_script = array_scripts[integer_index_script],
    [6.1620]
    [6.1683]
    const
    object_script = array_scripts[integer_index_script],
  • replacement in lib/lib_ram_script.js at line 97
    [6.2725][6.2725:2808]()
    const object_server_ram_free_biggest = object_get_server_ram_free_biggest(
    [6.2725]
    [6.2808]
    const
    object_server_ram_free_biggest = object_get_server_ram_free_biggest(
  • edit in lib/lib_ram_script.js at line 145
    [6.3859]
    [6.3859]
    const array_schedule_length = array_schedule.length;
  • replacement in lib/lib_ram_script.js at line 148
    [6.3898][6.3898:3945]()
    integer_index_job < array_schedule.length;
    [6.3898]
    [6.3945]
    integer_index_job < array_schedule_length;
  • edit in lib/lib_no_ns.js at line 11
    [6.3568]
    [6.3568]
    array_servers_length = array_servers.length,
  • replacement in lib/lib_no_ns.js at line 15
    [6.3641][6.3641:3690]()
    integer_index_server < array_servers.length;
    [6.3641]
    [6.3690]
    integer_index_server < array_servers_length;
  • replacement in lib/lib_no_ns.js at line 18
    [6.3723][6.3723:3863]()
    const string_server = array_servers[integer_index_server];
    array_object_servers.push(object_method_make_server(ns, string_server));
    [6.3723]
    [6.3863]
    array_object_servers.push(object_method_make_server(ns, array_servers[integer_index_server]));
  • replacement in lib/lib_no_ns.js at line 28
    [6.4156][6.4156:4285]()
    // clone array of servers used to preserve original
    const array_servers_used_updated = array_get_clone(array_servers_used);
    [6.4156]
    [6.4285]
    const
    // clone array of servers used to preserve original
    array_servers_used_updated = array_get_clone(array_servers_used),
    array_servers_used_updated_length = array_servers_used_updated.length;
  • replacement in lib/lib_no_ns.js at line 34
    [6.4327][6.4327:4389]()
    integer_index_server < array_servers_used_updated.length;
    [6.4327]
    [6.4389]
    integer_index_server < array_servers_used_updated_length;
  • replacement in lib/lib_no_ns.js at line 107
    [4.2627][6.6667:6687](),[6.6667][6.6667:6687]()
    const array = [];
    [4.2627]
    [6.6687]
    const
    array_original_length = array_original.length,
    array = [];
  • replacement in lib/lib_no_ns.js at line 112
    [6.6730][6.6730:6781]()
    integer_index_element < array_original.length;
    [6.6730]
    [6.6781]
    integer_index_element < array_original_length;
  • replacement in lib/lib_ls.js at line 8
    [6.3816][2.1584:1672]()
    const array_files_with_string = [];
    const string_type_substring = typeof substring;
    [6.3816]
    [2.1672]
    const
    array_files_with_string = [],
    string_type_substring = typeof substring;
  • edit in lib/lib_ls.js at line 13
    [2.1726]
    [2.1726]
    const substring_length = substring.length;
  • replacement in lib/lib_ls.js at line 16
    [2.1779][2.1779:1831]()
    integer_index_substring < substring.length;
    [2.1779]
    [2.1831]
    integer_index_substring < substring_length;
  • edit in lib/lib_ls.js at line 19
    [2.1875][2.1875:1944]()
    const string_substring = substring[integer_index_substring];
  • replacement in lib/lib_ls.js at line 20
    [2.1982][2.1982:2038]()
    ns.ls(string_server_source, string_substring)
    [2.1982]
    [2.2038]
    ns.ls(string_server_source, substring[integer_index_substring])
  • replacement in lib/lib_kill.js at line 8
    [6.3734417][6.3734417:3734471]()
    const array_scripts_running = ns.ps(string_server);
    [6.3734417]
    [6.3734471]
    const
    array_scripts_running = ns.ps(string_server),
    array_scripts_running_length = array_scripts_running.length;
  • replacement in lib/lib_kill.js at line 13
    [6.3734510][6.3734510:3734564]()
    integer_indices_0 < array_scripts_running.length;
    [6.3734510]
    [6.3734564]
    integer_indices_0 < array_scripts_running_length;
  • replacement in lib/lib_kill.js at line 16
    [6.3734594][6.3734594:3734662]()
    const object_script = array_scripts_running[integer_indices_0],
    [6.3734594]
    [6.3734662]
    const
    object_script = array_scripts_running[integer_indices_0],
  • replacement in bin/main.js at line 549
    [6.28860][6.28860:28907]()
    const array_servers = array_get_servers(ns);
    [6.28860]
    [6.28907]
    const
    array_servers = array_get_servers(ns),
    array_servers_length = array_servers.length;
  • replacement in bin/main.js at line 554
    [6.28949][6.28949:28998]()
    integer_index_server < array_servers.length;
    [6.28949]
    [6.28998]
    integer_index_server < array_servers_length;
  • replacement in bin/main.js at line 588
    [6.30128][2.2932:3001](),[2.3001][6.30191:30311](),[6.30191][6.30191:30311]()
    const
    object_script = array_scripts[integer_index_script],
    string_script_file = object_script.file;
    if (string_script_file === string_file) return integer_index_script;
    [6.30128]
    [6.30311]
    if (array_scripts[integer_index_script].file === string_file) return integer_index_script;
  • edit in bin/lshw.js at line 138
    [6.6728]
    [26.1578]
    const float_period_check = 1e3 * float_sleep_duration_seconds;
  • edit in bin/lshw.js at line 140
    [26.1659]
    [6.18368]
    const array_servers_length = array_servers.length;
  • replacement in bin/lshw.js at line 143
    [6.10302][6.10302:10353]()
    integer_index_server < array_servers.length;
    [6.10302]
    [6.10353]
    integer_index_server < array_servers_length;
  • edit in bin/lshw.js at line 146
    [6.18495][6.10383:10448]()
    const string_server = array_servers[integer_index_server];
  • replacement in bin/lshw.js at line 149
    [6.6775][6.6775:6800]()
    string_server,
    [6.6775]
    [6.6800]
    array_servers[integer_index_server],
  • replacement in bin/lshw.js at line 161
    [6.2286][6.2286:2342]()
    await ns.sleep(1e3 * float_sleep_duration_seconds);
    [6.2286]
    [6.18993]
    await ns.sleep(float_period_check);
  • replacement in bin/lshw.js at line 167
    [6.7049][6.7049:7193]()
    const object_argument_names = object_get_constants().object_argument_names;
    const object_defaults = object_get_constants().object_defaults;
    [6.7049]
    [6.10514]
    const
    object_argument_names = object_get_constants().object_argument_names,
    object_defaults = object_get_constants().object_defaults;
  • edit in bin/kill.js at line 121
    [6.3800536]
    [6.3800536]
    const array_scripts_length = array_scripts.length;
  • replacement in bin/kill.js at line 124
    [6.13129][6.13129:13178]()
    integer_index_script < array_scripts.length;
    [6.13129]
    [6.13178]
    integer_index_script < array_scripts_length;
  • replacement in bin/kill.js at line 127
    [6.3800651][6.13206:13269](),[6.13269][6.3800711:3800786](),[6.3800711][6.3800711:3800786]()
    const string_script = array_scripts[integer_index_script];
    void_kill_script_named_server_named(ns, string_server, string_script);
    [6.3800651]
    [6.3800786]
    void_kill_script_named_server_named(ns, string_server, array_scripts[integer_index_script]);
  • edit in bin/kill.js at line 137
    [6.3800955]
    [6.3800955]
    const array_servers_length = array_servers.length;
  • replacement in bin/kill.js at line 140
    [6.13304][6.13304:13353]()
    integer_index_server < array_servers.length;
    [6.13304]
    [6.13353]
    integer_index_server < array_servers_length;
  • replacement in bin/kill.js at line 143
    [6.3801070][6.13381:13444](),[6.13444][6.3801130:3801206](),[6.3801130][6.3801130:3801206]()
    const string_server = array_servers[integer_index_server];
    void_kill_scripts_named_server_named(ns, string_server, array_scripts);
    [6.3801070]
    [6.3801206]
    void_kill_scripts_named_server_named(ns, array_servers[integer_index_server], array_scripts);
  • replacement in bin/kill.js at line 154
    [6.3801540][6.3801540:3801594]()
    const array_scripts_running = ns.ps(string_server);
    [6.3801540]
    [6.3801594]
    const
    array_scripts_running = ns.ps(string_server),
    array_scripts_running_length = array_scripts_running.length;
  • replacement in bin/kill.js at line 159
    [6.13479][6.13479:13536]()
    integer_index_script < array_scripts_running.length;
    [6.13479]
    [6.13536]
    integer_index_script < array_scripts_running_length;
  • replacement in bin/kill.js at line 162
    [6.3801717][6.13564:13635](),[6.13635][6.3801785:3801831](),[6.3801785][6.3801785:3801831]()
    const object_script = array_scripts_running[integer_index_script],
    string_script = object_script.filename;
    [6.3801717]
    [6.3801831]
    const string_script = array_scripts_running[integer_index_script].filename;
  • edit in bin/kill.js at line 170
    [6.3802077]
    [6.3802077]
    const array_servers_length = array_servers.length;
  • replacement in bin/kill.js at line 173
    [6.13670][6.13670:13719]()
    integer_index_server < array_servers.length;
    [6.13670]
    [6.13719]
    integer_index_server < array_servers_length;
  • replacement in bin/kill.js at line 176
    [6.3802192][6.13747:13810](),[6.13810][6.3802252:3802307](),[6.3802252][6.3802252:3802307]()
    const string_server = array_servers[integer_index_server];
    void_kill_scripts_server_named(ns, string_server);
    [6.3802192]
    [6.3802307]
    void_kill_scripts_server_named(ns, array_servers[integer_index_server]);
  • replacement in bin/cp.js at line 101
    [2.3532][6.3804224:3804271](),[6.20415][6.3804224:3804271](),[6.3804224][6.3804224:3804271]()
    const array_servers = array_get_servers(ns);
    [2.3532]
    [6.20416]
    const
    array_servers = array_get_servers(ns),
    array_servers_length = array_servers.length;
  • replacement in bin/cp.js at line 106
    [6.15419][6.15419:15468]()
    integer_index_server < array_servers.length;
    [6.15419]
    [6.15468]
    integer_index_server < array_servers_length;
  • replacement in bin/contracts.js at line 434
    [6.3816931][6.3816931:3816974]()
    array_servers = array_get_servers(ns);
    [6.3816931]
    [6.3816974]
    array_servers = array_get_servers(ns),
    array_servers_length = array_servers.length;
  • replacement in bin/contracts.js at line 438
    [6.3817016][6.3817016:3817065]()
    integer_index_server < array_servers.length;
    [6.3817016]
    [6.3817065]
    integer_index_server < array_servers_length;
  • replacement in bin/contracts.js at line 447
    [6.3817275][6.3817275:3817284]()
    );
    [6.3817275]
    [6.3817284]
    ),
    array_contract_names_length = array_contract_names.length;
  • replacement in bin/contracts.js at line 451
    [6.3817333][6.3817333:3817394]()
    integer_index_contracts < array_contract_names.length;
    [6.3817333]
    [6.3817394]
    integer_index_contracts < array_contract_names_length;
  • replacement in bin/contracts.js at line 493
    [6.3818498][6.3818498:3818545]()
    array_contracts = array_get_contracts(ns);
    [6.3818498]
    [6.3818545]
    array_contracts = array_get_contracts(ns),
    array_contracts_length = array_contracts.length;
  • replacement in bin/contracts.js at line 497
    [6.3818589][6.3818589:3818642]()
    integer_index_contract < array_contracts.length;
    [6.3818589]
    [6.3818642]
    integer_index_contract < array_contracts_length;