Sorry I must correct myself, I just took a look at its test code, the innerhtml test code is in a unusual or extreme way, it pushes strings into array, then join array. In fact, in the real world, innerHTML is moe often used to concatenate a string by something like innerHTML += "xxx"; re-write the test code by this way, the result is much much faster than DOM.
On 2009-12-23, Kelvin Wu <[email protected]> wrote: > > thanks for the link, i tested it too, on nokia e71, which is webkit engine > too, the innerhtml crashed nokia's browser... that completely overturned my > previous thought. > > > > > On 2009-12-22, toriaezunama <[email protected]> wrote: >> >> This site has a benchmark comparing the use of innerHTML vs DOM >> manipulation >> http://andrew.hedges.name/experiments/innerhtml/ >> >> I got the following results on an iPodTouch >> # of times time ms >> innerHTML 10 32 >> 100 2090 >> 1000 Took too long to run >> DOM 10 1 >> 100 12 >> 1000 87 >> >> Although the test isn't perfect - for example: every created div is >> the same. Not a very real world situation - the results do prove >> interesting. >> >> Hope this helps >> >> On Dec 22, 3:02 am, Kelvin Wu <[email protected]> wrote: >> > Hi, >> > >> > A little bit off tipoc, not related to iUI but I am thinking of the >> question >> > about Javascript performance, especially on mobile phone. >> > >> > To write HTML code in your Javascript, you can write DOM directly such >> as: >> > >> > var cellTitle = document.createElement("td"); >> > cell.className = "TableCell3"; >> > var labelTitle = document.createElement("lable"); >> > labelTitle.className = "LabelTitle"; >> > labelTitle.innerHTML = title; >> > cellTitle.appendChild(labelTitle); >> > rowTitle.appendChild(cellTitle); >> > >> > Or simply filling in innerHTML: >> > >> > root.innerHTML += "<td class=TableCell3><lable class=LabelTitle>" + >> title + >> > "</lable></td>"; >> > >> > The above two work exactly same. The first one looks more "professional" >> > while I personally feel that the second one could be much faster and >> less >> > CPU usage (less battery consumption), when you have a complicated HTML >> page, >> > you may need to carefully write hundreds of lines for DOM objects or, >> just >> > copy and paste HTML code to innerHTML... >> > >> > So my question is, is that true, using innerHTML is generally faster >> than >> > creating DOM? >> > >> > -- >> > >> > Sent from my mobile device. Ignore the typos unless they're funny. >> >> -- >> >> You received this message because you are subscribed to the Google Groups >> "iPhoneWebDev" group. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to >> [email protected]<iphonewebdev%[email protected]> >> . >> For more options, visit this group at >> http://groups.google.com/group/iphonewebdev?hl=en. >> >> >> > > > -- > > Sent from my mobile device. Ignore the typos unless they're funny. > -- Sent from my mobile device. Ignore the typos unless they're funny. -- You received this message because you are subscribed to the Google Groups "iPhoneWebDev" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/iphonewebdev?hl=en.
