Efforts to speed up application; initially ran around ~50ms on initial data loops, now runs in the ~30ms range. Doing division in JS over large loops == insane, I'm guessing because everything is floating point. Multiply by 0.5 instead and we get some nice speedups (odd, I know; best answer I can muster...).

This commit is contained in:
Veno Server 2009-08-13 23:53:57 -05:00
parent 70dfb93447
commit 4fe6ed90ca
2 changed files with 38 additions and 43 deletions

View file

@ -41,7 +41,7 @@
});
$("#try_these a").click(function() {
img_input.value = this.innerHTML;
img_input.value = "awesome/" + $(this)[0].innerHTML;
return false;
});
@ -95,15 +95,15 @@
<input type="submit" class="img_submit" value="Upload and be awesome">
</form>
<form method="post" action="#" id="franz_form">
<input type="text" id="img_input" value="lol.png">
<input type="text" id="img_input" value="awesome/lol.png">
<input type="submit" class="img_submit" value="Go for it!">
</form>
<p id="try_these"><strong>Try out:</strong>
<a href="#" title="lol.png">lol.png</a>,
<a href="#" title="testjubs.jpg">testjubs.jpg</a>,
<a href="#" title="stars.jpg">stars.jpg</a>,
<a href="#" title="1600.jpg">1600.jpg</a>,
<a href="#" title="fallout.jpg">fallout.jpg</a>
<a href="#" title="awesome/lol.png">lol.png</a>,
<a href="#" title="awesome/testjubs.jpg">testjubs.jpg</a>,
<a href="#" title="awesome/stars.jpg">stars.jpg</a>,
<a href="#" title="awesome/1600.jpg">1600.jpg</a>,
<a href="#" title="awesome/fallout.jpg">fallout.jpg</a>
</p>
</div>

View file

@ -101,11 +101,10 @@ var franz = {
},
getHue: function(red, green, blue) {
var min, max, delta, hue;
min = Math.min(red,Math.min(green,blue));
max = Math.max(red,Math.max(green,blue));
delta = max - min;
var min = Math.min(red, Math.min(green, blue)),
max = Math.max(red, Math.max(green, blue)),
delta = max - min,
hue;
if(max == 0)
return -1;
@ -126,11 +125,9 @@ var franz = {
},
getSatHSV: function(red, green, blue) {
var min, max, delta, sat;
min = Math.min(red,Math.min(green,blue));
max = Math.max(red,Math.max(green,blue));
delta = max - min;
var min = Math.min(red, Math.min(green, blue)),
max = Math.max(red, Math.max(green, blue)),
delta = max - min,
sat = delta / max;
return sat;
@ -139,11 +136,10 @@ var franz = {
getValHSV: function(red, green, blue) { return Math.max(red, Math.max(green,blue)); },
getSatHSL: function(red, green, blue) {
var min, max, sat;
var lightness = franz.getLightHSL();
min = Math.min(red,Math.min(green,blue));
max = Math.max(red,Math.max(green,blue));
var min = Math.min(red, Math.min(green, blue)),
max = Math.max(red, Math.max(green, blue)),
lightness = franz.getLightHSL(),
sat;
if(min == max) return 0;
@ -154,22 +150,21 @@ var franz = {
},
getLightHSL: function(red, green, blue) {
var min, max;
min = Math.min(red,Math.min(green,blue));
var min = Math.min(red, Math.min(green, blue)),
max = Math.max(red, Math.max(green, blue));
return 1/2*(min+max);
return 0.5 * (min + max);
},
/* routines to display color swatches */
displayColors: function(order_array) {
var docString = "";
var docStr = "";
for(var i = 0; i < franz.alpha.length; i++) {
docString += '<div class="color_box" style="background-color: rgb(' + franz.red[order_array[i]] + ', ' + franz.green[order_array[i]] + ',' + franz.blue[order_array[i]] + ');"></div>';
docStr += '<div class="color_box" style="background-color: rgb(' + franz.red[order_array[i]] + ', ' + franz.green[order_array[i]] + ',' + franz.blue[order_array[i]] + ');"></div>';
}
document.getElementById("log_colors").innerHTML = docString;
$("#container_bottom").fadeIn("slow");
document.getElementById("log_colors").innerHTML = docStr;
if(typeof jQuery != "undefined") $("#container_bottom").fadeIn("slow");
else document.getElementById("container_bottom").style.display = "block";
return false;
},