[Development] [BB++] Now is 3.5x faster than Node.JS
Thiago Macieira
thiago.macieira at intel.com
Sun Jul 23 20:48:13 CEST 2017
On Sunday, 23 July 2017 11:01:00 PDT Phil Bouchard wrote:
> > My experience with benchmarking very controlled and deterministic C++ code
> > (deterministic implies no memory allocation or deallocation) is that the
> > results vary on a system like that.
>
> I am running it on an Intel Core i7 laptop with an ASUS motherboard and
> no I stop processes like the music player before running it.
Did you stop the email client? Did you close the browser? Maybe stopped the
window manager too? You should also disconnect from the network, in case some
packets arrive at the wrong time, disable turbo boost, lock the CPU into
performance mode and disable all but one CPU.
> > That's another example of assigning blame without proof. You may be
> > completely right and you're very likely partially right. But you need to
> > stop blaming GC for everything. We don't know how much it's at fault for,
> > not without evidence.
>
> You can find documentation on this all over the place:
> https://www.quora.com/Why-is-the-iPhones-1-GB-RAM-touted-to-be-able-to-compe
> te-with-more-than-2-GB-RAM-of-Android-phones/answers/7061202
That's not "documentation". It's not comparing apples to apples: it's
comparing two different applications, written for two different OSes, with two
different frameworks and in two different languages. There's more than just
the GC at work here.
And did you read the link you posted? It's saying that with enough RAM, the
impact of GC is small enough to be ignored.
> >> It's obvious developers aren't perfect either and the more complex the
> >> app is then the more likely there will be a leak. With Root.Ptr it's all
> >> handled implicitly.
> >
> > Except for the part that developers need to use root.ptr properly. As
> > you've just written, developers aren't perfect either, so they will make
> > mistakes. So maybe it's better to have a slightly inferior solution
> > performance-wise that works in many more cases where the developers are
> > making mistakes than a perfect solution that requires perfect developers.
>
> Developer won't need to bother about Root.Ptr because I already wrote a
> parser to add the necessary node_proxies and metadata.
The developers in question here are not the application writers, but the
framework developers. You're assuming they/you won't make mistakes and that is
not a valid assumption to make.
> And did I say errors are reported at compile-time? In QML/Javascript
> everything is reported at run-time; sometimes in the widget itself,
> sometimes on the console and sometimes none is reported and it just
> doesn't work!
Are you comparing that to the precompiled QML?
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
More information about the Development
mailing list