Created
January 21, 2015 15:29
-
-
Save sirkitree/d0bb00d1b42e885385ec to your computer and use it in GitHub Desktop.
coordinate generator
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var points = []; | |
var x = y = z = this.constraint; | |
var constraintDecrement = this.constraint * -1; | |
for (var x = this.constraint; x >= constraintDecrement; x--) { | |
points.push({ | |
'pos': {'x' : x, 'y' : y, 'z' : z} | |
}); | |
for (var y = this.constraint; y > constraintDecrement; y--) { | |
points.push({ | |
'pos': {'x' : x, 'y' : y, 'z' : z} | |
}); | |
for (var z = this.constraint; z > constraintDecrement; z--) { | |
points.push({ | |
'pos': {'x' : x, 'y' : y, 'z' : z} | |
}); | |
}; | |
}; | |
}; |
Article here is saying that do/while loops are much faster, especially with the condition at the end so I may try that.
Humm, if my CS education is coming back to me OK, the snippet above runs on the order of O(n^3), 8n^3 to exact, where n is this.contraint
. So for:
this.constraint = 10
==> 8,000 array entries
this.constraint = 100
==> 8,000,000 array entries
That's a lot. Even if you could speed it up, the 8,000,000 entries in the array might be too huge?
JS bin to play with: http://jsbin.com/dogogirohu/2/edit
Yup, it's way too huge, 10 will have to suffice for now, lol.
@justafish created a much faster version here: https://gist.github.com/justafish/096f46baedc2487deafe
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
75 works okay. Using
time
i get12.61s user 2.34s system 65% cpu 22.825 total
100 I get:
FATAL ERROR: JS Allocation failed - process out of memory
@125.55s user 3.54s system 89% cpu 2:24.77 total