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

2016-03-06 Thread Phil Bouchard

On 03/06/2016 10:36 PM, Ryosuke Niwa wrote:


No :(  It's pretty relevant that GC in JavaScriptCore was written for
JavaScriptCore.  In particular, JSC doesn't focus on optimizing binary
size, memory usage, etc... for embeddable devices so I would expect
the performance characteristics to be dramatically different from that
of Duktape or XS6.


True but if block_ptr<> is 10x faster than the Mark & Sweep GC then I 
think we got something perhaps worth investigating.



Analyzing the performance of a computer software is really hard.  I've
been working on WebKit for six and half years and I'm still surprised
by the kind of performance issues we encounter and the difference in
the performance characteristics between different CPU architectures,
the number of cores, and the spec of a particular CPU.


I hear you.  I am the one porting WebKit and all the dependencies on 
different CPUs where I work.


But my point is if I can't get something notable then it is what it is.


-Phil

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


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

2016-03-06 Thread Ryosuke Niwa
On Sun, Mar 6, 2016 at 7:28 PM, Phil Bouchard  wrote:
> On 03/06/2016 10:17 PM, Filip Pizlo wrote:
>>
>>
>>> On Mar 6, 2016, at 6:36 PM, Phil Bouchard  wrote:
>>>
>>> That should speed up my benchmarking process.
>>
>>
>> It will also make your benchmarking process inconclusive for the purpose
>> of evaluating a memory manager’s performance relative to our garbage
>> collector.  To put it another way, I don’t care if your memory manager is
>> faster than someone else’s garbage collector.
>
>
> It is very subjective but if we know that:
> - WebKit's GC is 2x faster than the Mark & Sweep GC
> - block_ptr<> is 2x faster than the Mark & Sweep GC
>
> Then that means WebKit's GC == block_ptr<>.

No :(  It's pretty relevant that GC in JavaScriptCore was written for
JavaScriptCore.  In particular, JSC doesn't focus on optimizing binary
size, memory usage, etc... for embeddable devices so I would expect
the performance characteristics to be dramatically different from that
of Duktape or XS6.

Analyzing the performance of a computer software is really hard.  I've
been working on WebKit for six and half years and I'm still surprised
by the kind of performance issues we encounter and the difference in
the performance characteristics between different CPU architectures,
the number of cores, and the spec of a particular CPU.

- R. Niwa
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


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

2016-03-06 Thread Phil Bouchard
I know, it wouldn't be worth integrating in that case but at least I 
have a way to compare.


On 03/06/2016 10:30 PM, Filip Pizlo wrote:

Phil,

I think you need to do better than this.

-Filip



On Mar 6, 2016, at 7:28 PM, Phil Bouchard  wrote:

It is very subjective but if we know that:
- WebKit's GC is 2x faster than the Mark & Sweep GC
- block_ptr<> is 2x faster than the Mark & Sweep GC

Then that means WebKit's GC == block_ptr<>.



___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


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

2016-03-06 Thread Filip Pizlo
Phil,

I think you need to do better than this.

-Filip


> On Mar 6, 2016, at 7:28 PM, Phil Bouchard  wrote:
> 
> On 03/06/2016 10:17 PM, Filip Pizlo wrote:
>> 
>>> On Mar 6, 2016, at 6:36 PM, Phil Bouchard  wrote:
>>> 
>>> That should speed up my benchmarking process.
>> 
>> It will also make your benchmarking process inconclusive for the purpose of 
>> evaluating a memory manager’s performance relative to our garbage collector. 
>>  To put it another way, I don’t care if your memory manager is faster than 
>> someone else’s garbage collector.
> 
> It is very subjective but if we know that:
> - WebKit's GC is 2x faster than the Mark & Sweep GC
> - block_ptr<> is 2x faster than the Mark & Sweep GC
> 
> Then that means WebKit's GC == block_ptr<>.
> 
> 
> Regards,
> -Phil
> 
> ___
> webkit-dev mailing list
> webkit-dev@lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


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

2016-03-06 Thread Phil Bouchard

On 03/06/2016 10:17 PM, Filip Pizlo wrote:



On Mar 6, 2016, at 6:36 PM, Phil Bouchard  wrote:

That should speed up my benchmarking process.


It will also make your benchmarking process inconclusive for the purpose of 
evaluating a memory manager’s performance relative to our garbage collector.  
To put it another way, I don’t care if your memory manager is faster than 
someone else’s garbage collector.


It is very subjective but if we know that:
- WebKit's GC is 2x faster than the Mark & Sweep GC
- block_ptr<> is 2x faster than the Mark & Sweep GC

Then that means WebKit's GC == block_ptr<>.


Regards,
-Phil

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


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

2016-03-06 Thread Filip Pizlo

> On Mar 6, 2016, at 6:36 PM, Phil Bouchard  wrote:
> 
> On 03/06/2016 12:59 AM, Phil Bouchard wrote:
>> 
>> Anyway I am not sure if I can create a patch within a short period of
>> time but if I happen to have an interesting Javascript benchmark then I
>> will repost it to this mailing list.
> 
> Hmmm... I just want to say there are embeddable JS engines out there:
> http://duktape.org/
> 
> That should speed up my benchmarking process.

It will also make your benchmarking process inconclusive for the purpose of 
evaluating a memory manager’s performance relative to our garbage collector.  
To put it another way, I don’t care if your memory manager is faster than 
someone else’s garbage collector.

-Filip

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


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

2016-03-06 Thread Phil Bouchard

On 03/06/2016 09:37 PM, Ryosuke Niwa wrote:

FYI, XS6 is another popular JS engine for embedded devices:
http://kinoma.com

- R. Niwa


Thanks.  It looks like this one is written in Java...

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


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

2016-03-06 Thread Ryosuke Niwa
FYI, XS6 is another popular JS engine for embedded devices:
http://kinoma.com

- R. Niwa


On Sun, Mar 6, 2016 at 6:36 PM, Phil Bouchard  wrote:
> On 03/06/2016 12:59 AM, Phil Bouchard wrote:
>>
>>
>> Anyway I am not sure if I can create a patch within a short period of
>> time but if I happen to have an interesting Javascript benchmark then I
>> will repost it to this mailing list.
>
>
> Hmmm... I just want to say there are embeddable JS engines out there:
> http://duktape.org/
>
> That should speed up my benchmarking process.
>
>
> ___
> webkit-dev mailing list
> webkit-dev@lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


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

2016-03-06 Thread Phil Bouchard

On 03/06/2016 12:59 AM, Phil Bouchard wrote:


Anyway I am not sure if I can create a patch within a short period of
time but if I happen to have an interesting Javascript benchmark then I
will repost it to this mailing list.


Hmmm... I just want to say there are embeddable JS engines out there:
http://duktape.org/

That should speed up my benchmarking process.

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev