SteveSanderson/knockout — pull request #818 by mbest (2013-02-08 09:42:34+00:00)
Title: options bindingHandler rebuilds the entire select-element when changing one array element

Example: an array of observables is used in an `options` binding. When changing an observable it does not only update one
element but rebuilds the entire list. This means that changing a list of 200 elements (e.g. I used this for dynamically changing the language of a drop down element) causes the element to be created 200 times and 200*200
elements to be created:

http://jsfiddle.net/bikeshedder/DTP2d/1/

When rewriting the code by using a simple `foreach` bindingHandler and creating the Elements manually it is as fast as I'd expect it to be:

http://jsfiddle.net/bikeshedder/D8gjA/1/

This example is pretty dumb and even creates invalid HTML (names starting with `-`, boo!) but illustrates the problem quite well.