cache some calculations which should increase performance.
[?]
Sep 14, 2020, 6:40 PM
TDBVUKLOAGANU3DGDSQBTFOADRDFRS2E7OQIVFRCMWU7NPWJ2KCQCDependencies
- [2]
XUZPBRE6main.js: fix regression. lib_ls.js: refactor. - [3]
U2SGR33Ghacker.js: minor refactor. - [4]
TXTXXNNBhacker.js: refactor schedule correction logic into schedule making logic to prevent having to iterate to schedule twice. - [5]
OUSJMLGRmain.js: fix typo. hacker.js: refactor boolean_script_running into boolean_array_scripts_any_running to avoid repeat calls. - [6]
QAPXJ43Ahacker.js, weaken_manager.js: use void_copy_script_to from lib_ram_script to copy worker scripts to servers. README.md: update. - [7]
HSNSECD5all: refactor. main.js: fix call to `void_kill_script_named_server_named`. - [8]
JGNALSUQadd "cyclic_weaken.js" feature. hacker.js, main.js, libs: refactor. README.md: update. - [9]
6PAXZMAIchange 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]
2WOLGB42README.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]
JS52JD4Qweaken_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]
IFVY3INIcontracts.js: add --verbose and --check-delay options. README.md: update. - [13]
ZVQK2652executables: fix help message. - [14]
FBAPT2WWexecutables: dynamically load help messages. lshw.js, main.js: add options to change score correction method and score factor multipliers. README.md: update. - [15]
2BKHJI2Sinit - [16]
SLSWBNYTadded ram utilisation logic to `ram.js` and `servers.js`. split and refactored redundant code into separate library files. - [17]
SXEJJKPIexecutables: 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]
5DIUM5GJhacknet.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]
CEZ56FCMhacknet.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]
PUMDUVMZhacker.js: add logic to copy job script to server. - [21]
Y5OWMCQRall: 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]
G7YVCY6Hlib_score.js: refactor. add two functions for score correction. remove unneeded arbitrary hard-coded multipliers. - [23]
BKG7YVUVmain.js, hacker.js, servers.js, ram.js: refactor. - [24]
3TZILRX2servers.js: fix and refactor. - [*]
6TF4T3E2lshw.js: fix function call typo.
Change contents
- edit in sbin/weaken_manager.js at line 10
constfloat_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
file: ns.args[1],threads_or_ram_botnet: ns.args[2],args: [ns.args[3]],file: string_file,threads_or_ram_botnet: integer_threads,args: array_arguments, - replacement in sbin/weaken_manager.js at line 26
await ns.sleep(1e3 * ns.args[0]);await ns.sleep(float_period_check); - replacement in sbin/servers.js at line 1
// 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./* 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
const float_period_check = 1e3 * ns.args[0],constfloat_period_check = 1e3 * ns.args[0], - replacement in sbin/servers.js at line 64
const array_servers_bought = ns.getPurchasedServers();if (array_servers_bought.length > 0) {constarray_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
integer_index_server < array_servers_bought.length;integer_index_server < array_servers_bought_length; - replacement in sbin/servers.js at line 82
const array_servers_bought = ns.getPurchasedServers();if (array_servers_bought.length > 0) {constarray_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
integer_index_server < array_servers_bought.length;integer_index_server < array_servers_bought_length; - replacement in sbin/servers.js at line 93
let integer_server_ram_total = float_get_server_ram_total(const integer_server_ram_total = float_get_server_ram_total( - replacement in sbin/servers.js at line 107
const array_servers_bought = ns.getPurchasedServers();if (array_servers_bought.length > 0) {constarray_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
integer_index_server < array_servers_bought.length;integer_index_server < array_servers_bought_length; - replacement in sbin/servers.js at line 118
let integer_server_ram_total = float_get_server_ram_total(const integer_server_ram_total = float_get_server_ram_total( - replacement in sbin/servers.js at line 152
const integer_server_ram_biggest_afforded = integer_get_server_ram_biggest_afforded(constinteger_server_ram_biggest_afforded = integer_get_server_ram_biggest_afforded( - replacement in sbin/servers.js at line 172
const integer_servers_bought_amount = ns.getPurchasedServers().length,constinteger_servers_bought_amount = ns.getPurchasedServers().length, - replacement in sbin/servers.js at line 196
const integer_servers_bought_amount = ns.getPurchasedServers().length,constinteger_servers_bought_amount = ns.getPurchasedServers().length, - replacement in sbin/ram.js at line 4
const float_period_check = 1e3 * ns.args[0],constfloat_period_check = 1e3 * ns.args[0], - replacement in sbin/programs.js at line 3
const float_period_check = 1e3 * ns.args[0],array_programs = ns.args[1];constfloat_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
integer_index_program < array_programs.length;integer_index_program < array_programs_length; - replacement in sbin/hacker.js at line 167
const array_servers = array_get_servers(ns);constarray_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
integer_index_server < array_servers.length;integer_index_server < array_servers_length; - replacement in sbin/hacker.js at line 176
const array_scripts_running = ns.ps(array_servers[integer_index_server]);if (array_scripts_running.length > 0)constarray_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
integer_index_script < array_scripts_running.length;integer_index_script < array_scripts_running_length; - replacement in sbin/hacker.js at line 184
)) { - replacement in sbin/hacker.js at line 187
integer_index_scripts < array_scripts.length;integer_index_scripts < array_scripts_length; - replacement in sbin/hacker.js at line 189
)) { - replacement in sbin/hacker.js at line 194
return !0return !0;}}} - replacement in sbin/hacker.js at line 199
return !1return !1; - edit in sbin/hacker.js at line 902
const array_schedule_length = array_schedule.length; - replacement in sbin/hacker.js at line 905
integer_index_job < array_schedule.length;integer_index_job < array_schedule_length; - replacement in sbin/hacker.js at line 939
const parent_window = parent["window"];parent_window.d = parent_window["document"];parent_window.w = parent_window;// exposes document for freeconst object_document = parent["document"]; - replacement in sbin/hacker.js at line 956
d.string_server_target = string_server_target;object_document.string_server_target = string_server_target; - replacement in sbin/hacker.js at line 1016
(d.string_server_target = string_server_target),(object_document.string_server_target = string_server_target), - replacement in sbin/cyclic_weaken.js at line 4
parent_window = parent["window"];// exposes document for freeobject_document = parent["document"]; - replacement in sbin/cyclic_weaken.js at line 7
parent_window.d = parent_window["document"],parent_window.w = parent_window;; - replacement in sbin/cyclic_weaken.js at line 12
await ns.weaken(d.string_server_target);await ns.weaken(object_document.string_server_target); - replacement in sbin/botnet.js at line 8
const array_servers_unrooted = array_get_servers_unrooted(ns);if (0 === array_servers_unrooted.length) break;constarray_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
integer_index_server < array_servers_unrooted.length;integer_index_server < array_servers_unrooted_length; - replacement in sbin/botnet.js at line 42
const array_exploits = array_get_exploits(ns);constarray_exploits = array_get_exploits(ns),array_exploits_length = array_exploits.length; - replacement in sbin/botnet.js at line 47
integer_index_exploit < array_exploits.length;integer_index_exploit < array_exploits_length; - edit in sbin/botnet.js at line 50
const string_exploit_function = array_exploits[integer_index_exploit]; - replacement in sbin/botnet.js at line 51
string_exploit_function(string_server_target);array_exploits[integer_index_exploit](string_server_target); - replacement in lib/lib_servers.js at line 5
const string_host = ns.getHostname(),array_servers = [string_host];constarray_servers = [ns.getHostname()],array_servers_length = array_servers.length; - replacement in lib/lib_servers.js at line 10
integer_index_server < array_servers.length;integer_index_server < array_servers_length; - replacement in lib/lib_servers.js at line 13
const array_scan_results = ns.scan(array_servers[integer_index_server]);constarray_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
integer_index_scan_result < array_scan_results.length;integer_index_scan_result < array_scan_results_length; - edit in lib/lib_score.js at line 5
const array_numbers_length = array_numbers.length; - replacement in lib/lib_score.js at line 9
integer_index_number < array_numbers.length;integer_index_number < array_numbers_length; - replacement in lib/lib_score.js at line 13
return float_total / array_numbers.length;return float_total / array_numbers_length; - edit in lib/lib_score.js at line 19
float_mean = float_get_mean(array_numbers), - replacement in lib/lib_score.js at line 21
const float_mean = float_get_mean(array_numbers);const array_numbers_length = array_numbers.length; - replacement in lib/lib_score.js at line 25
integer_index_number < array_numbers.length;integer_index_number < array_numbers_length; - replacement in lib/lib_score.js at line 32
return float_sum_squared_differences / array_numbers.length;return float_sum_squared_differences / array_numbers_length; - replacement in lib/lib_score.js at line 38
(float_original - float_get_mean(array_numbers)) /(float_original - float_mean) / - replacement in lib/lib_score.js at line 59
let array_servers_trait = [];constarray_servers_length = array_servers.length,array_servers_trait = []; - replacement in lib/lib_score.js at line 64
integer_index_server < array_servers.length;integer_index_server < array_servers_length; - replacement in lib/lib_score.js at line 87
const array_servers_rooted = array_get_servers_rooted(ns);let array_servers_hackable = [];constarray_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
integer_index_server < array_servers_rooted.length;integer_index_server < array_servers_rooted_length; - replacement in lib/lib_root.js at line 9
const array_servers = array_get_servers(ns),constarray_servers = array_get_servers(ns),array_servers_length = array_servers.length, - replacement in lib/lib_root.js at line 15
integer_index_server < array_servers.length;integer_index_server < array_servers_length; - replacement in lib/lib_root.js at line 25
const array_servers = array_get_servers(ns),constarray_servers = array_get_servers(ns),array_servers_length = array_servers.length, - replacement in lib/lib_root.js at line 31
integer_index_server < array_servers.length;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);constarray_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
integer_index_server_rooted < array_servers_rooted.length;integer_index_server_rooted < array_servers_rooted_length; - replacement in lib/lib_ram_server.js at line 53
const array_servers_rooted = array_get_servers_rooted(ns);constarray_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
integer_index_server_rooted < array_servers_rooted.length;integer_index_server_rooted < array_servers_rooted_length; - replacement in lib/lib_ram_script.js at line 51
const array_schedule = [];constarray_scripts_length = array_scripts.length,array_schedule = []; - replacement in lib/lib_ram_script.js at line 61
integer_index_script < array_scripts.length;integer_index_script < array_scripts_length; - replacement in lib/lib_ram_script.js at line 64
const object_script = array_scripts[integer_index_script],constobject_script = array_scripts[integer_index_script], - replacement in lib/lib_ram_script.js at line 97
const object_server_ram_free_biggest = object_get_server_ram_free_biggest(constobject_server_ram_free_biggest = object_get_server_ram_free_biggest( - edit in lib/lib_ram_script.js at line 145
const array_schedule_length = array_schedule.length; - replacement in lib/lib_ram_script.js at line 148
integer_index_job < array_schedule.length;integer_index_job < array_schedule_length; - edit in lib/lib_no_ns.js at line 11
array_servers_length = array_servers.length, - replacement in lib/lib_no_ns.js at line 15
integer_index_server < array_servers.length;integer_index_server < array_servers_length; - replacement in lib/lib_no_ns.js at line 18
const string_server = array_servers[integer_index_server];array_object_servers.push(object_method_make_server(ns, string_server));array_object_servers.push(object_method_make_server(ns, array_servers[integer_index_server])); - replacement in lib/lib_no_ns.js at line 28
// clone array of servers used to preserve originalconst array_servers_used_updated = array_get_clone(array_servers_used);const// clone array of servers used to preserve originalarray_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
integer_index_server < array_servers_used_updated.length;integer_index_server < array_servers_used_updated_length; - replacement in lib/lib_no_ns.js at line 107
const array = [];constarray_original_length = array_original.length,array = []; - replacement in lib/lib_no_ns.js at line 112
integer_index_element < array_original.length;integer_index_element < array_original_length; - replacement in lib/lib_ls.js at line 8
const array_files_with_string = [];const string_type_substring = typeof substring;constarray_files_with_string = [],string_type_substring = typeof substring; - edit in lib/lib_ls.js at line 13
const substring_length = substring.length; - replacement in lib/lib_ls.js at line 16
integer_index_substring < substring.length;integer_index_substring < substring_length; - edit in lib/lib_ls.js at line 19
const string_substring = substring[integer_index_substring]; - replacement in lib/lib_ls.js at line 20
ns.ls(string_server_source, string_substring)ns.ls(string_server_source, substring[integer_index_substring]) - replacement in lib/lib_kill.js at line 8
const array_scripts_running = ns.ps(string_server);constarray_scripts_running = ns.ps(string_server),array_scripts_running_length = array_scripts_running.length; - replacement in lib/lib_kill.js at line 13
integer_indices_0 < array_scripts_running.length;integer_indices_0 < array_scripts_running_length; - replacement in lib/lib_kill.js at line 16
const object_script = array_scripts_running[integer_indices_0],constobject_script = array_scripts_running[integer_indices_0], - replacement in bin/main.js at line 549
const array_servers = array_get_servers(ns);constarray_servers = array_get_servers(ns),array_servers_length = array_servers.length; - replacement in bin/main.js at line 554
integer_index_server < array_servers.length;integer_index_server < array_servers_length; - replacement in bin/main.js at line 588
constobject_script = array_scripts[integer_index_script],string_script_file = object_script.file;if (string_script_file === string_file) return integer_index_script;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
integer_index_server < array_servers.length;integer_index_server < array_servers_length; - edit in bin/lshw.js at line 146
const string_server = array_servers[integer_index_server]; - replacement in bin/lshw.js at line 149
string_server,array_servers[integer_index_server], - replacement in bin/lshw.js at line 161
await ns.sleep(1e3 * float_sleep_duration_seconds);await ns.sleep(float_period_check); - replacement in bin/lshw.js at line 167
const object_argument_names = object_get_constants().object_argument_names;const object_defaults = object_get_constants().object_defaults;constobject_argument_names = object_get_constants().object_argument_names,object_defaults = object_get_constants().object_defaults; - edit in bin/kill.js at line 121
const array_scripts_length = array_scripts.length; - replacement in bin/kill.js at line 124
integer_index_script < array_scripts.length;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);void_kill_script_named_server_named(ns, string_server, array_scripts[integer_index_script]); - edit in bin/kill.js at line 137
const array_servers_length = array_servers.length; - replacement in bin/kill.js at line 140
integer_index_server < array_servers.length;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);void_kill_scripts_named_server_named(ns, array_servers[integer_index_server], array_scripts); - replacement in bin/kill.js at line 154
const array_scripts_running = ns.ps(string_server);constarray_scripts_running = ns.ps(string_server),array_scripts_running_length = array_scripts_running.length; - replacement in bin/kill.js at line 159
integer_index_script < array_scripts_running.length;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;const string_script = array_scripts_running[integer_index_script].filename; - edit in bin/kill.js at line 170
const array_servers_length = array_servers.length; - replacement in bin/kill.js at line 173
integer_index_server < array_servers.length;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);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);constarray_servers = array_get_servers(ns),array_servers_length = array_servers.length; - replacement in bin/cp.js at line 106
integer_index_server < array_servers.length;integer_index_server < array_servers_length; - replacement in bin/contracts.js at line 434
array_servers = array_get_servers(ns);array_servers = array_get_servers(ns),array_servers_length = array_servers.length; - replacement in bin/contracts.js at line 438
integer_index_server < array_servers.length;integer_index_server < array_servers_length; - replacement in bin/contracts.js at line 447
);),array_contract_names_length = array_contract_names.length; - replacement in bin/contracts.js at line 451
integer_index_contracts < array_contract_names.length;integer_index_contracts < array_contract_names_length; - replacement in bin/contracts.js at line 493
array_contracts = array_get_contracts(ns);array_contracts = array_get_contracts(ns),array_contracts_length = array_contracts.length; - replacement in bin/contracts.js at line 497
integer_index_contract < array_contracts.length;integer_index_contract < array_contracts_length;