# HSL to RGB Comparison

## JavaScript performance comparison

Test case created by phineas kibbey

## Preparation code

`` <script>  Benchmark.prototype.setup = function() {    function hslToRgb(h, s, l) {      var r, g, b;          if (s == 0) {        r = g = b = l; // achromatic      } else {        function hue2rgb(p, q, t) {          if (t < 0) t += 1;          if (t > 1) t -= 1;          if (t < 1 / 6) return p + (q - p) * 6 * t;          if (t < 1 / 2) return q;          if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;          return p;        }            var q = l < 0.5 ? l * (1 + s) : l + s - l * s;        var p = 2 * l - q;        r = hue2rgb(p, q, h + 1 / 3);        g = hue2rgb(p, q, h);        b = hue2rgb(p, q, h - 1 / 3);      }          return [r * 255, g * 255, b * 255];    }        function hsvToRgb(h, s, v) {      var r, g, b;          var i = Math.floor(h * 6);      var f = h * 6 - i;      var p = v * (1 - s);      var q = v * (1 - f * s);      var t = v * (1 - (1 - f) * s);          switch (i % 6) {      case 0:        r = v, g = t, b = p;        break;      case 1:        r = q, g = v, b = p;        break;      case 2:        r = p, g = v, b = t;        break;      case 3:        r = p, g = q, b = v;        break;      case 4:        r = t, g = p, b = v;        break;      case 5:        r = v, g = p, b = q;        break;      }          return [r * 255, g * 255, b * 255];    }  };</script>``

## Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
hslToRgb
``hslToRgb(0.5, 0.5, 0.5);``
pending…
hsvToRgb
``hsvToRgb(0.5, 0.5, 0.5);``
pending…

## Revisions

You can edit these tests or add even more tests to this page by appending `/edit` to the URL. Here’s a list of current revisions for this page:

• Revision 2: published

# 1 comment

phineas kibbey (revision owner) commented :

Thanks to

http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript

for the code

Comment form temporarily disabled.