[webkit-dev] [Block Pointer] Deterministic Region Based Memory Manager

Phil Bouchard philippeb8 at gmail.com
Sat Mar 5 20:05:21 PST 2016


On 03/05/2016 01:02 AM, Phil Bouchard wrote:
> On 03/05/2016 12:49 AM, Filip Pizlo wrote:
>>
>> If you're right then you've resolved CS problems dating back to the
>> 50's. Extraordinary claims require extraordinary evidence. You haven't
>> provided any evidence.
>
> It wasn't easy to implement but it's done now so we can all move forward.
>
>> Replacing our GC with anything else is going to be incredibly difficult.
>>
>> We aren't going to be compelled by a comparison of our GC to something
>> else if it isn't in the context of web workloads.
>
> So you're saying it's impossible?  Is there a design document I could
> start reading?
>
>
> Regards,
> -Phil
> (Sorry if I don't reply... it's late)

Believe it or not, I made a mistake in the fast_pool_allocator which 
allocates proxies.  I wasn't using unitary size which was clogging the 
allocator.  I fixed it and now block_ptr<> is *faster* than shared_ptr<>:

make:
auto_ptr:                   25637845 ns
shared_ptr:                 26789342 ns
block_ptr:                  50487376 ns

new:
auto_ptr:                   23139888 ns
shared_ptr:                 48198668 ns
block_ptr:                  39151845 ns

So the performance comparison reduces to this.  Now it's just a matter 
of finding out if block_ptr<> leaks in any way.


Regards,
-Phil



More information about the webkit-dev mailing list