You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@royale.apache.org by Carlos Rovira <ca...@apache.org> on 2017/10/26 18:41:13 UTC

Netflix removed React for plain JS to gain 50% performance improvement

I saw this on twitter, and think I could share here:

https://twitter.com/NetflixUIE/status/923374215041912833?s=09

"Netflix UI Engineers
Removing client-side React.js (but keeping it on the server)
resulted in a 50% performance improvement on our landing page"

IMOH, that's an huge stick for React, since performance always is one of
the main points

I think here Royale has a good opportunity if we can have javascript as
plain as we can and shows
a good performance in browsers.

What do you think?

-- 
Carlos Rovira
http://about.me/carlosrovira

Re: Netflix removed React for plain JS to gain 50% performance improvement

Posted by Carlos Rovira <ca...@codeoscopic.com>.
Maybe it's not time yet, or maybe we need someone to volunteer for this,
but I think getting as fasta as we can would be of great benefit. I think
Dave is right, we write in AS3/MXML and in JS we generate mostly plain
javascript, so potentially that should be more fast than what others do,
since they base much of the work in a framework that operates in real time,
while we compiled it to something more "direct", no virtual doms and tricks
of js frameworks. Maybe things related to reflection could be affecting our
performance, but in the end we have the potential to "flatten" as much as
we can and that translation being optimized as much as we can could be the
key to an extremely performance technology thanks to have a compiler in the
middle of the equation. Something that Angular or React doesn't have.




2017-10-26 23:10 GMT+02:00 Alex Harui <ah...@adobe.com.invalid>:

> Let's be careful about what it might mean to "unroll".
>
> We have certainly tried to focus the framework code on Pay-As-You-Go
> (PAYG).  IMO, that's not unrolling, it allows incremental feature addition.
>
> We are working on composited component sets like Express which can be
> manually disassembled into smaller pieces, but the compiler doesn't do
> that.
>
> The GCC compiler is capable of dead code removal, but we haven't
> experimented much with it.  I think there is potential there to have the
> compiler further reduce code size.
>
> No matter what, though, the fact that we code in small pieces we call
> Beads and composite them on Strands give us the opportunity for the tool
> chain to automatically detect and remove other kinds of unused code in the
> future.
>
> Thanks,
> -Alex
>
> On 10/26/17, 1:03 PM, "Harbs" <ha...@gmail.com> wrote:
>
> >Yes. I believe it is.
> >
> >We need some performance testing to prove it, but I believe Royale has
> >little or no overhead that many other frameworks have.
> >
> >> On Oct 26, 2017, at 10:43 PM, Dave Fisher <da...@comcast.net>
> wrote:
> >>
> >> Correct me if I am wrong, but isn’t part of the value proposition of
> >>Royale that it will do the unrolling in the compiler?
> >>
> >> Regards,
> >> Dave
> >>
> >>> On Oct 26, 2017, at 12:39 PM, Jeff Dafoe <je...@outlook.com>
> wrote:
> >>>
> >>>
> >>> It's not too much of a statement about React's efficiency, as you'll
> >>>almost always see gains if you unroll framework code in that manner.
> >>>The disadvantage is you now have a landing page constructed from
> >>>unrolled pieces of framework.  Almost categorically, this is how good
> >>>software development is done overall - unroll parts that need the
> >>>highest performance, where you're willing to trade off maintainability
> >>>for performance.
> >>>
> >>> -Jeff
> >>> ________________________________
> >>> From: carlos.rovira@gmail.com <ca...@gmail.com> on behalf of
> >>>Carlos Rovira <ca...@apache.org>
> >>> Sent: Thursday, October 26, 2017 2:41 PM
> >>> To: dev@royale.apache.org
> >>> Subject: Netflix removed React for plain JS to gain 50% performance
> >>>improvement
> >>>
> >>> I saw this on twitter, and think I could share here:
> >>>
> >>>
> >>>https://na01.safelinks.protection.outlook.com/?url=
> https%3A%2F%2Ftwitter
> >>>.com%2FNetflixUIE%2Fstatus%2F923374215041912833%3Fs%3D09&
> data=02%7C01%7C
> >>>%7C7289cad6488d41eef80e08d51caca8b1%7Cfa7b1b5a7b34438794aed2c178de
> cee1%7
> >>>C0%7C0%7C636446450242521705&sdata=Tje6QQVnleq5SWlh%2FC%
> 2BhBkufZmec7n14od
> >>>RTdbtfUlY%3D&reserved=0
> >>>
> >>> "Netflix UI Engineers
> >>> Removing client-side React.js (but keeping it on the server)
> >>> resulted in a 50% performance improvement on our landing page"
> >>>
> >>> IMOH, that's an huge stick for React, since performance always is one
> >>>of
> >>> the main points
> >>>
> >>> I think here Royale has a good opportunity if we can have javascript as
> >>> plain as we can and shows
> >>> a good performance in browsers.
> >>>
> >>> What do you think?
> >>>
> >>> --
> >>> Carlos Rovira
> >>>
> >>>https://na01.safelinks.protection.outlook.com/?url=
> http%3A%2F%2Fabout.me
> >>>%2Fcarlosrovira&data=02%7C01%7C%7C7289cad6488d41eef80e08d51cac
> a8b1%7Cfa7
> >>>b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636446450242521705&
> sdata=uk9gqu9
> >>>LV9Z7gPiprqvHzcHFFwiZMfmNIwWZMFfvVwA%3D&reserved=0
> >>
> >
>
>


-- 

<http://www.codeoscopic.com>

Carlos Rovira

Director General

M: +34 607 22 60 05

http://www.codeoscopic.com


Conocenos Avant2 en 1 minuto! <https://avant2.es/#video>


Este mensaje se dirige exclusivamente a su destinatario y puede contener
información privilegiada o confidencial. Si ha recibido este mensaje por
error, le rogamos que nos lo comunique inmediatamente por esta misma vía y
proceda a su destrucción.

De la vigente Ley Orgánica de Protección de Datos (15/1999), le comunicamos
que sus datos forman parte de un fichero cuyo responsable es CODEOSCOPIC
S.A. La finalidad de dicho tratamiento es facilitar la prestación del
servicio o información solicitados, teniendo usted derecho de acceso,
rectificación, cancelación y oposición de sus datos dirigiéndose a nuestras
oficinas c/ Paseo de la Habana 9-11, 28036, Madrid con la documentación
necesaria.

Re: Netflix removed React for plain JS to gain 50% performance improvement

Posted by Alex Harui <ah...@adobe.com.INVALID>.
Let's be careful about what it might mean to "unroll".

We have certainly tried to focus the framework code on Pay-As-You-Go
(PAYG).  IMO, that's not unrolling, it allows incremental feature addition.

We are working on composited component sets like Express which can be
manually disassembled into smaller pieces, but the compiler doesn't do
that.

The GCC compiler is capable of dead code removal, but we haven't
experimented much with it.  I think there is potential there to have the
compiler further reduce code size.

No matter what, though, the fact that we code in small pieces we call
Beads and composite them on Strands give us the opportunity for the tool
chain to automatically detect and remove other kinds of unused code in the
future.

Thanks,
-Alex

On 10/26/17, 1:03 PM, "Harbs" <ha...@gmail.com> wrote:

>Yes. I believe it is.
>
>We need some performance testing to prove it, but I believe Royale has
>little or no overhead that many other frameworks have.
>
>> On Oct 26, 2017, at 10:43 PM, Dave Fisher <da...@comcast.net> wrote:
>> 
>> Correct me if I am wrong, but isn’t part of the value proposition of
>>Royale that it will do the unrolling in the compiler?
>> 
>> Regards,
>> Dave
>> 
>>> On Oct 26, 2017, at 12:39 PM, Jeff Dafoe <je...@outlook.com> wrote:
>>> 
>>> 
>>> It's not too much of a statement about React's efficiency, as you'll
>>>almost always see gains if you unroll framework code in that manner.
>>>The disadvantage is you now have a landing page constructed from
>>>unrolled pieces of framework.  Almost categorically, this is how good
>>>software development is done overall - unroll parts that need the
>>>highest performance, where you're willing to trade off maintainability
>>>for performance.
>>> 
>>> -Jeff
>>> ________________________________
>>> From: carlos.rovira@gmail.com <ca...@gmail.com> on behalf of
>>>Carlos Rovira <ca...@apache.org>
>>> Sent: Thursday, October 26, 2017 2:41 PM
>>> To: dev@royale.apache.org
>>> Subject: Netflix removed React for plain JS to gain 50% performance
>>>improvement
>>> 
>>> I saw this on twitter, and think I could share here:
>>> 
>>> 
>>>https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftwitter
>>>.com%2FNetflixUIE%2Fstatus%2F923374215041912833%3Fs%3D09&data=02%7C01%7C
>>>%7C7289cad6488d41eef80e08d51caca8b1%7Cfa7b1b5a7b34438794aed2c178decee1%7
>>>C0%7C0%7C636446450242521705&sdata=Tje6QQVnleq5SWlh%2FC%2BhBkufZmec7n14od
>>>RTdbtfUlY%3D&reserved=0
>>> 
>>> "Netflix UI Engineers
>>> Removing client-side React.js (but keeping it on the server)
>>> resulted in a 50% performance improvement on our landing page"
>>> 
>>> IMOH, that's an huge stick for React, since performance always is one
>>>of
>>> the main points
>>> 
>>> I think here Royale has a good opportunity if we can have javascript as
>>> plain as we can and shows
>>> a good performance in browsers.
>>> 
>>> What do you think?
>>> 
>>> --
>>> Carlos Rovira
>>> 
>>>https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me
>>>%2Fcarlosrovira&data=02%7C01%7C%7C7289cad6488d41eef80e08d51caca8b1%7Cfa7
>>>b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636446450242521705&sdata=uk9gqu9
>>>LV9Z7gPiprqvHzcHFFwiZMfmNIwWZMFfvVwA%3D&reserved=0
>> 
>


Re: Netflix removed React for plain JS to gain 50% performance improvement

Posted by Harbs <ha...@gmail.com>.
Yes. I believe it is.

We need some performance testing to prove it, but I believe Royale has little or no overhead that many other frameworks have.

> On Oct 26, 2017, at 10:43 PM, Dave Fisher <da...@comcast.net> wrote:
> 
> Correct me if I am wrong, but isn’t part of the value proposition of Royale that it will do the unrolling in the compiler?
> 
> Regards,
> Dave
> 
>> On Oct 26, 2017, at 12:39 PM, Jeff Dafoe <je...@outlook.com> wrote:
>> 
>> 
>> It's not too much of a statement about React's efficiency, as you'll almost always see gains if you unroll framework code in that manner.  The disadvantage is you now have a landing page constructed from unrolled pieces of framework.  Almost categorically, this is how good software development is done overall - unroll parts that need the highest performance, where you're willing to trade off maintainability for performance.
>> 
>> -Jeff
>> ________________________________
>> From: carlos.rovira@gmail.com <ca...@gmail.com> on behalf of Carlos Rovira <ca...@apache.org>
>> Sent: Thursday, October 26, 2017 2:41 PM
>> To: dev@royale.apache.org
>> Subject: Netflix removed React for plain JS to gain 50% performance improvement
>> 
>> I saw this on twitter, and think I could share here:
>> 
>> https://twitter.com/NetflixUIE/status/923374215041912833?s=09
>> 
>> "Netflix UI Engineers
>> Removing client-side React.js (but keeping it on the server)
>> resulted in a 50% performance improvement on our landing page"
>> 
>> IMOH, that's an huge stick for React, since performance always is one of
>> the main points
>> 
>> I think here Royale has a good opportunity if we can have javascript as
>> plain as we can and shows
>> a good performance in browsers.
>> 
>> What do you think?
>> 
>> --
>> Carlos Rovira
>> http://about.me/carlosrovira
> 


Re: Netflix removed React for plain JS to gain 50% performance improvement

Posted by Dave Fisher <da...@comcast.net>.
Correct me if I am wrong, but isn’t part of the value proposition of Royale that it will do the unrolling in the compiler?

Regards,
Dave

> On Oct 26, 2017, at 12:39 PM, Jeff Dafoe <je...@outlook.com> wrote:
> 
> 
> It's not too much of a statement about React's efficiency, as you'll almost always see gains if you unroll framework code in that manner.  The disadvantage is you now have a landing page constructed from unrolled pieces of framework.  Almost categorically, this is how good software development is done overall - unroll parts that need the highest performance, where you're willing to trade off maintainability for performance.
> 
> -Jeff
> ________________________________
> From: carlos.rovira@gmail.com <ca...@gmail.com> on behalf of Carlos Rovira <ca...@apache.org>
> Sent: Thursday, October 26, 2017 2:41 PM
> To: dev@royale.apache.org
> Subject: Netflix removed React for plain JS to gain 50% performance improvement
> 
> I saw this on twitter, and think I could share here:
> 
> https://twitter.com/NetflixUIE/status/923374215041912833?s=09
> 
> "Netflix UI Engineers
> Removing client-side React.js (but keeping it on the server)
> resulted in a 50% performance improvement on our landing page"
> 
> IMOH, that's an huge stick for React, since performance always is one of
> the main points
> 
> I think here Royale has a good opportunity if we can have javascript as
> plain as we can and shows
> a good performance in browsers.
> 
> What do you think?
> 
> --
> Carlos Rovira
> http://about.me/carlosrovira


Re: Netflix removed React for plain JS to gain 50% performance improvement

Posted by Jeff Dafoe <je...@outlook.com>.
It's not too much of a statement about React's efficiency, as you'll almost always see gains if you unroll framework code in that manner.  The disadvantage is you now have a landing page constructed from unrolled pieces of framework.  Almost categorically, this is how good software development is done overall - unroll parts that need the highest performance, where you're willing to trade off maintainability for performance.

-Jeff
________________________________
From: carlos.rovira@gmail.com <ca...@gmail.com> on behalf of Carlos Rovira <ca...@apache.org>
Sent: Thursday, October 26, 2017 2:41 PM
To: dev@royale.apache.org
Subject: Netflix removed React for plain JS to gain 50% performance improvement

I saw this on twitter, and think I could share here:

https://twitter.com/NetflixUIE/status/923374215041912833?s=09

"Netflix UI Engineers
Removing client-side React.js (but keeping it on the server)
resulted in a 50% performance improvement on our landing page"

IMOH, that's an huge stick for React, since performance always is one of
the main points

I think here Royale has a good opportunity if we can have javascript as
plain as we can and shows
a good performance in browsers.

What do you think?

--
Carlos Rovira
http://about.me/carlosrovira