deneme

Benchmark created on


Preparation HTML

<script>
                function clearMessages()
                {
                        var node = document.getElementsByTagName('body')[0];
                        node.innerHTML = "";
                }
  
                function appendMessage(html)
                {
                        var node = document.getElementsByTagName('body')[0];
                        var range = document.createRange();
                        range.selectNode(node);
                        var documentFragment = range.createContextualFragment(html);
                        node.appendChild(documentFragment);
  
                        if (getNumberOfMessages() > 250)
                        {
                                removeFirstMessage();
                        }
                }
  
                function removeFirstMessage()
                {
                        var node = document.getElementsByTagName('body')[0];
                        node.removeChild(node.firstChild);
                }
  
                function getNumberOfMessages()
                {
                        var kids;
                        var realKids;
                        var parent;
                        var i = 0;
  
                        realKids = 0;
                        parent = document.getElementsByTagName('body')[0];
                        kids = parent.childNodes.length;
                        return kids;
                        //while(i < kids){
                                ////if(parent.childNodes[i].nodeType != 3) //whitespace
                                //if(parent.childNodes[i].tagName.toLowerCase() == 'div')
                                //{
                                //      realKids++;
                                //}
                                //i++;
                        //}
                        //return realKids;
                }
  
                function updateMessageState(id,stateText,messageText)
                {
                        var node = document.getElementById(id);
                        if (node == null)
                        {
                                return;
                        }
  
                        var statusNode = node.getElementsByTagName('div')[4];
  
                        if (stateText.length == 0)
                        {
                                node.setAttribute('class', 'message outgoing');
                                statusNode.setAttribute('class', 'status');
                        }
                        else
                        {
                                node.setAttribute('class', 'message outgoing ' + stateText);
                                statusNode.setAttribute('class', 'status ' + stateText);
                        }
  
                        statusNode.innerHTML = messageText;
                }
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
append
appendMessage('<div>deneme</div>')
ready
append2
appendMessage('<div>deneme</div>')
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.