[webkit-dev] When should I use AtomicString vs String?

Myles C. Maxfield myles.maxfield at gmail.com
Fri May 31 21:40:06 PDT 2013


+1 :-)

On Friday, May 31, 2013, Glenn Adams wrote:

>
> On Fri, May 31, 2013 at 6:14 PM, Rafael Brandao <rafael.lobo at openbossa.org<javascript:_e({}, 'cvml', 'rafael.lobo at openbossa.org');>
> > wrote:
>
>> This thread contains really useful information, so I've created a new
>> topic on https://trac.webkit.org/wiki/EfficientStrings and pointed to
>> here.
>>
>
> One thing that always threw me was the term "Atomic" in the class name. I
> wonder if the term "InternedString" would make it usage more apparent.
>
>
>>
>> Best regards,
>> Rafael
>>
>>
>> On Fri, May 31, 2013 at 8:32 PM, Ryosuke Niwa <rniwa at webkit.org<javascript:_e({}, 'cvml', 'rniwa at webkit.org');>
>> > wrote:
>>
>>> We shouldn't use AtomicString if the string we're about to create
>>> doesn't get shared across multiple AtomicStrings.
>>>
>>> For example, if we had used AtomicString for the strings inside Text
>>> nodes, then we may end up filling up the atomic string table with all these
>>> really long strings that don't typically appear more than once.  It also
>>> slows down the hash map look up for all other atomic strings.
>>>
>>> On Fri, May 31, 2013 at 3:00 PM, Brendan Long <self at brendanlong.com<javascript:_e({}, 'cvml', 'self at brendanlong.com');>
>>> > wrote:
>>>
>>>>  So should I just never use String and always use AtomicString?
>>>>
>>>>
>>>> On 05/31/2013 03:14 PM, Daker Pinheiro wrote:
>>>>
>>>> It is faster to compare and hash AtomicString than regular Strings.
>>>>
>>>>
>>>> On Fri, May 31, 2013 at 5:57 PM, Brendan Long <self at brendanlong.com<javascript:_e({}, 'cvml', 'self at brendanlong.com');>
>>>> > wrote:
>>>>
>>>>> I hope this isn't a stupid question, but I can't find any references to
>>>>> what the difference between AtomicString and String is. It looks like
>>>>> AtomicString is generally preferred, but I don't know why. Can someone
>>>>> fill me in on this? Is there any refences for the classes in WTF?
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> webkit-dev mailing list
>>>>> webkit-dev at lists.webkit.org <javascript:_e({}, 'cvml',
>>>>> 'webkit-dev at lists.webkit.org');>
>>>>> https://lists.webkit.org/mailman/listinfo/webkit-dev
>>>>>
>>>>>
>>>>
>>>>
>>>>  --
>>>> Daker Fernandes Pinheiro
>>>> http://codecereal.blogspot.com
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> webkit-dev mailing list
>>>> webkit-dev at lists.webkit.org <javascript:_e({}, 'cvml',
>>>> 'webkit-dev at lists.webkit.org');>
>>>> https://lists.webkit.org/mailman/listinfo/webkit-dev
>>>>
>>>>
>>>
>>> _______________________________________________
>>> webkit-dev mailing list
>>> webkit-dev at lists.webkit.org <javascript:_e({}, 'cvml',
>>> 'webkit-dev at lists.webkit.org');>
>>> https://lists.webkit.org/mailman/listinfo/webkit-dev
>>>
>>>
>>
>>
>> --
>> Rafael Brandao @ INdT
>>
>> _______________________________________________
>> webkit-dev mailing list
>> webkit-dev at lists.webkit.org <javascript:_e({}, 'cvml',
>> 'webkit-dev at lists.webkit.org');>
>> https://lists.webkit.org/mailman/listinfo/webkit-dev
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20130531/7850406a/attachment.html>


More information about the webkit-dev mailing list