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.


Reply via email to