Skip to content

Instantly share code, notes, and snippets.

@gdborton
Last active March 10, 2019 19:04
Show Gist options
  • Save gdborton/d67ffd64edc34404c5cf to your computer and use it in GitHub Desktop.
Save gdborton/d67ffd64edc34404c5cf to your computer and use it in GitHub Desktop.
Screeps for in vs array iteration
var obj = Memory.pathOptimizer;
var start1 = Game.getUsedCpu();
var array1 = [];
for (key in Memory.pathOptimizer) {
array1.push(key);
}
var end1 = Game.getUsedCpu();
var start2 = Game.getUsedCpu();
var array2 = [];
var keys = Object.keys(Memory.pathOptimizer);
for (var iterator = 0; iterator < keys.length; iterator++) {
array2.push(keys[iterator]);
}
var end2 = Game.getUsedCpu();
console.log('totalNames', keys.length, 'for name in:', end1 - start1, 'looping over an array:', end2 - start2);
[5:11:31 PM]totalNames 497 for name in: 0.6747399999999999 looping over an array: 0.25939400000000035
[5:11:34 PM]totalNames 497 for name in: 0.6749159999999996 looping over an array: 0.2625869999999999
[5:11:36 PM]totalNames 497 for name in: 0.6786469999999998 looping over an array: 0.2682059999999993
[5:11:38 PM]totalNames 497 for name in: 0.7078720000000001 looping over an array: 0.20777099999999926
[5:11:41 PM]totalNames 497 for name in: 0.7076180000000001 looping over an array: 0.2699260000000008
[5:11:43 PM]totalNames 497 for name in: 0.6948180000000006 looping over an array: 0.26170599999999933
[5:11:46 PM]totalNames 497 for name in: 0.662471 looping over an array: 0.29627099999999995
[5:11:49 PM]totalNames 497 for name in: 0.6793400000000003 looping over an array: 0.2142949999999999
[5:11:52 PM]totalNames 497 for name in: 0.702588 looping over an array: 0.18712600000000013
[5:11:55 PM]totalNames 497 for name in: 0.3695179999999998 looping over an array: 0.17271100000000006
[5:11:57 PM]totalNames 497 for name in: 0.7048340000000017 looping over an array: 0.28889099999999956
[5:12:01 PM]totalNames 497 for name in: 1.9974509999999999 looping over an array: 0.252745
[5:12:04 PM]totalNames 497 for name in: 0.7327300000000001 looping over an array: 0.7345989999999993
[5:12:06 PM]totalNames 497 for name in: 0.707335999999998 looping over an array: 0.31483300000000014
[5:12:08 PM]totalNames 497 for name in: 0.7067100000000002 looping over an array: 0.2578820000000004
[5:12:11 PM]totalNames 497 for name in: 0.6732130000000005 looping over an array: 0.2597290000000001
[5:12:14 PM]totalNames 497 for name in: 0.6986829999999999 looping over an array: 0.2712009999999996
[5:12:16 PM]totalNames 497 for name in: 0.6691330000000004 looping over an array: 0.20644599999999969
[5:12:18 PM]totalNames 497 for name in: 0.6200939999999995 looping over an array: 0.19906299999999977
[5:12:21 PM]totalNames 497 for name in: 0.6502440000000007 looping over an array: 0.18567399999999967
[5:12:23 PM]totalNames 497 for name in: 0.6352349999999998 looping over an array: 0.18732400000000027
[5:12:25 PM]totalNames 497 for name in: 0.6916690000000001 looping over an array: 0.1920080000000004
[5:12:28 PM]totalNames 497 for name in: 0.6533830000000003 looping over an array: 0.16874500000000037
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment