Saltwell Outperforming A15...With Less Power!!!

By: (0xe2.0x9a.0x9b.delete@this.gmail.com), July 12, 2013 10:48 am
Room: Moderated Discussions
Linus Torvalds (torvalds.delete@this.linux-foundation.org) on July 12, 2013 9:11 am wrote:
> bakaneko (nyan.delete@this.hyan.wan) on July 12, 2013 3:28 am wrote:
> >
> > Then just turn the JIT/virtual machine/whatever
> > into a full blown compiler backend already. GPU
> > drivers have one built in, no excuse for the
> > java sandbox not to do it.
>
> The latency concerns make that impossible in practice.
>
> Also, the one advantage of JIT's is that they can take dynamic behavior into account, so you actually want
> the ability to recompile code on the fly. That can help vectorization efforts: you can say "I'm going to assume
> there are no aliases, and trap if they ever happen" and recompile without vectorization on the trap.

The primary goal of JIT is to achieve better performance via code specialization. That's the only thing that can beat static compilation.

> But both of these issues very much mean that you want to only JIT fairly small sections of code
> at a time ((a) latency: because you cannot afford the non-linear effects of bug code and (b) recompiling:
> because you want to have many small "chunks" that you can re-JIT independently).

Constraining a JIT to only deal with fairly small sections of code has very little performance advantage over static compilation.

Larger chunks generally mean more runtime optimization opportunities.

> In fact, you generally don't want to JIT run-once (or run-few-times) instructions
> at all, because the JIT overhead (even if you don't do any optimizations at
> all you have to manage the memory for the translations) is too big.

If every basic block of Java bytecode is compiled into x86 machine code upon the 1st entry to the basic block, the overhead of the translation wouldn't be noticeable if it is combined with x86 code caching over application/library executions.

> So JIT's don't generally want to be anything like a "real compiler".

A performance-oriented JIT needs to be more advanced than a static compiler.

> But they do have advantages that
> can make vectorization easier due to the whole "we can try to be optimistic" approach,

The "we can try to be optimistic" approach to JIT (and anything else) is somewhat controversial because of the cost incurred by runtime detection. It is controversial also from the viewpoint that some optimistic methods (tracing) are mathematically weak.

> it's just that
> generally the JIT will have to be pretty quick and simple, so you'd only catch the fairly trivial and
> easy cases.

Catching trivial cases by a JIT isn't worth the effort. It has little advantage over static compilation because static compilation is capable of handling many of the trivial cases.

>But for those, you might be able to do a better job than a static compiler would.

A good JIT needs to generate code at least comparable in performance with code generated by a static compiler.

-Atom

> The thing to really look out for with JIT's are benchmarks, though. Particularly for small benchmarks with
> high repeat-counts, a JIT may do things that are completely unrealistic in the real world. You can get
> some totally unrealistic results that make a JIT look really stunningly good, even when it is complete crap.
> Even more so than with the kinds of tricks static compilers do (as discussed in this whole thread).
>
> Linus
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
ARM at Computexanon2013/06/03 08:54 AM
  ARM at ComputexExophase2013/06/03 09:31 AM
    ARM at ComputexWilco2013/06/03 10:52 AM
      ARM at ComputexExophase2013/06/03 12:02 PM
        ARM at Computexnone2013/06/03 01:28 PM
          ARM at ComputexAlberto2013/06/04 10:41 AM
            ARM at Computexanon2013/06/04 01:36 PM
              ARM at ComputexWilco2013/06/04 03:56 PM
                ARM at ComputexDavid Kanter2013/06/04 04:51 PM
                  ARM at ComputexNobodyatAll2013/06/04 05:53 PM
                  ARM at Computexanon2013/06/04 06:53 PM
        ARM at ComputexWilco2013/06/03 01:47 PM
    ARM at Computexanon2013/06/04 04:03 AM
      ARM at ComputexDavid Kanter2013/06/04 08:16 AM
      ARM at ComputexExophase2013/06/04 10:36 AM
        ARM at ComputexWilco2013/06/04 04:09 PM
          ARM at ComputexNobodyatAll2013/06/04 04:23 PM
          ARM at ComputexDavid Kanter2013/06/04 05:00 PM
            ARM at Computexnone2013/06/05 05:26 AM
              ARM at Computexanon2013/06/05 07:19 AM
              ARM at Computexaaron spink2013/06/05 03:04 PM
                Saltwell Outperforming A15...With Less Power!!!Jason2013/06/07 01:56 PM
                  Saltwell Outperforming A15...With Less Power!!!John2013/06/08 06:28 AM
                    Saltwell Outperforming A15...With Less Power!!!Kevin G2013/06/08 02:18 PM
                      Saltwell Outperforming A15...With Less Power!!!David Kanter2013/06/08 08:43 PM
                      Saltwell Outperforming A15...With Less Power!!!tarlinian2013/06/09 02:00 PM
                        Saltwell Outperforming A15...With Less Power!!!none2013/06/09 03:11 PM
                          Saltwell Outperforming A15...With Less Power!!!none2013/07/10 11:46 AM
                            Saltwell Outperforming A15...With Less Power!!!Wilco2013/07/10 07:59 PM
                              Saltwell Outperforming A15...With Less Power!!!Klimax2013/07/10 10:03 PM
                                Saltwell Outperforming A15...With Less Power!!!anon2013/07/10 10:29 PM
                                  Saltwell Outperforming A15...With Less Power!!!Klimax2013/07/10 11:30 PM
                                    Saltwell Outperforming A15...With Less Power!!!Wilco2013/07/11 01:04 AM
                                      Saltwell Outperforming A15...With Less Power!!!Klimax2013/07/11 03:10 AM
                                        Saltwell Outperforming A15...With Less Power!!!anon2013/07/11 04:10 AM
                                        Saltwell Outperforming A15...With Less Power!!!Wilco2013/07/11 04:43 AM
                                        Saltwell Outperforming A15...With Less Power!!!Steve2013/07/14 08:10 PM
                                          Saltwell Outperforming A15...With Less Power!!!Klimax2013/07/14 10:55 PM
                                          Saltwell Outperforming A15...With Less Power!!!bakaneko2013/07/15 02:03 AM
                                            Saltwell Outperforming A15...With Less Power!!!anon2013/07/16 01:07 AM
                                              Saltwell Outperforming A15...With Less Power!!!bakaneko2013/07/16 06:25 AM
                                                Saltwell Outperforming A15...With Less Power!!!none2013/07/16 06:34 AM
                                                Saltwell Outperforming A15...With Less Power!!!Exophase2013/07/16 10:34 AM
                                                  Saltwell Outperforming A15...With Less Power!!!bakaneko2013/07/18 02:24 PM
                                                    Saltwell Outperforming A15...With Less Power!!!none2013/07/18 03:26 PM
                                    Saltwell Outperforming A15...With Less Power!!!anon2013/07/11 02:50 AM
                                      Saltwell Outperforming A15...With Less Power!!!Klimax2013/07/11 11:25 PM
                                        Saltwell Outperforming A15...With Less Power!!!anon2013/07/11 11:45 PM
                                          Saltwell Outperforming A15...With Less Power!!!Klimax2013/07/12 12:10 AM
                                            Saltwell Outperforming A15...With Less Power!!!anon2013/07/12 01:52 AM
                                    Saltwell Outperforming A15...With Less Power!!!Gabriele Svelto2013/07/11 04:20 AM
                                      Saltwell Outperforming A15...With Less Power!!!Klimax2013/07/11 11:51 PM
                                Saltwell Outperforming A15...With Less Power!!!bakaneko2013/07/11 12:02 AM
                                  Saltwell Outperforming A15...With Less Power!!!Klimax2013/07/11 12:28 AM
                                    Saltwell Outperforming A15...With Less Power!!!none2013/07/11 01:49 AM
                                      Saltwell Outperforming A15...With Less Power!!!Klimax2013/07/11 03:00 AM
                                        Saltwell Outperforming A15...With Less Power!!!Klimax2013/07/11 03:02 AM
                                        Saltwell Outperforming A15...With Less Power!!!none2013/07/11 04:44 AM
                                          Saltwell Outperforming A15...With Less Power!!!Michael S2013/07/11 05:33 AM
                                            Saltwell Outperforming A15...With Less Power!!!none2013/07/11 05:58 AM
                                              Saltwell Outperforming A15...With Less Power!!!none2013/07/11 05:59 AM
                                              Saltwell Outperforming A15...With Less Power!!!Wilco2013/07/11 07:40 AM
                                                Saltwell Outperforming A15...With Less Power!!!Michael S2013/07/11 08:34 AM
                                                  Saltwell Outperforming A15...With Less Power!!!none2013/07/11 08:50 AM
                                              Saltwell Outperforming A15...With Less Power!!!Michael S2013/07/11 09:02 AM
                                          Saltwell Outperforming A15...With Less Power!!!Klimax2013/07/11 10:11 PM
                                      Saltwell Outperforming A15...With Less Power!!!Michael S2013/07/11 04:12 AM
                                        Saltwell Outperforming A15...With Less Power!!!none2013/07/11 04:51 AM
                                          Saltwell Outperforming A15...With Less Power!!!Wilco2013/07/11 05:03 AM
                                            Saltwell Outperforming A15...With Less Power!!!none2013/07/11 05:12 AM
                                              Saltwell Outperforming A15...With Less Power!!!Wilco2013/07/11 07:26 AM
                                                Saltwell Outperforming A15...With Less Power!!!none2013/07/11 08:29 AM
                                                Saltwell Outperforming A15...With Less Power!!!Wilco2013/07/12 04:08 AM
                                                  Saltwell Outperforming A15...With Less Power!!!Michael S2013/07/12 04:25 AM
                                              Saltwell Outperforming A15...With Less Power!!!Klimax2013/07/11 11:55 PM
                                                Saltwell Outperforming A15...With Less Power!!!Megol2013/07/13 07:20 AM
                                    Java/Dalvik benchmarksbakaneko2013/07/11 02:26 AM
                                  Saltwell Outperforming A15...With Less Power!!!Linus Torvalds2013/07/11 10:57 AM
                                    Saltwell Outperforming A15...With Less Power!!!Linus Torvalds2013/07/11 11:20 AM
                                      Saltwell Outperforming A15...With Less Power!!!Ian Ameline2013/07/11 03:20 PM
                                      Saltwell Outperforming A15...With Less Power!!!Sylvain Collange2013/07/12 02:29 AM
                                        Saltwell Outperforming A15...With Less Power!!!Wilco2013/07/12 03:51 AM
                                          Saltwell Outperforming A15...With Less Power!!!Sylvain Collange2013/07/12 06:00 AM
                                      Saltwell Outperforming A15...With Less Power!!!bakaneko2013/07/12 03:28 AM
                                        Saltwell Outperforming A15...With Less Power!!!Linus Torvalds2013/07/12 09:11 AM
                                          Saltwell Outperforming A15...With Less Power!!!bakaneko2013/07/12 10:12 AM
                                          Saltwell Outperforming A15...With Less Power!!!2013/07/12 10:48 AM
                                            Saltwell Outperforming A15...With Less Power!!!Linus Torvalds2013/07/12 11:14 AM
                                              JIT2013/07/13 05:50 AM
                                                How'd you get this flower symbol as your user name ?anon2013/07/13 09:20 AM
                                                  How'd you get this flower symbol as your user name ?Doug S Ꭳ❂〄☢⚓♜☎♬⚄☠2013/07/13 10:12 AM
                                                JITx2013/07/15 06:43 AM
                                    Not reallyAnon2013/07/11 11:21 AM
                                    consistency, pleaseMichael S2013/07/11 11:22 AM
                                      consistency, pleaseLinus Torvalds2013/07/11 11:52 AM
                                        consistency, pleaseMichael S2013/07/11 02:43 PM
                                          consistency, pleaseLinus Torvalds2013/07/11 03:12 PM
                                            consistency, pleaseMark Roulo2013/07/11 03:54 PM
                                              the discussion was about absence of AVX in Silvermont (NT)Michael S2013/07/11 03:59 PM
                                                the discussion was about absence of AVX in SilvermontMark Roulo2013/07/11 04:19 PM
                                                  the discussion was about absence of AVX in SilvermontLinus Torvalds2013/07/12 09:16 AM
                                                    Thank youMark Roulo2013/07/12 09:58 AM
                                                    the discussion was about absence of AVX in Silvermontanon2013/07/12 10:10 AM
                                                      Not really (again)Anon2013/07/12 10:26 AM
                                                        Not really (again)anon2013/07/12 05:40 PM
                                                    the discussion was about absence of AVX in SilvermontLinus Torvalds2013/07/12 10:31 AM
                                                      you are wrong at about 100% of you saidMichael S2013/07/13 11:22 AM
                                                        you are wrong at about 100% of you saidLinus Torvalds2013/07/13 12:08 PM
                                                          you are wrong at about 100% of you saidMichael S2013/07/13 01:13 PM
                                                            you are wrong at about 100% of you saidLinus Torvalds2013/07/13 02:11 PM
                                                            you are wrong at about 100% of you saidvvid2013/07/13 03:20 PM
                                                              you are wrong at about 100% of you saidMichael S2013/07/14 01:38 AM
                                    Saltwell Outperforming A15...With Less Power!!!anon2013/07/11 06:41 PM
                                    Saltwell Outperforming A15...With Less Power!!!bakaneko2013/07/12 03:22 AM
                  Round 2: Baytrail benchmark (yes Antutu!) crushes Snapdragon 800.sammy2013/07/12 11:28 AM
                    Round 2: AnTuTu scores drop dramatically for AtomWilco2013/07/12 11:59 AM
                      Round 2: AnTuTu scores drop dramatically for AtomSteve2013/07/14 08:16 PM
                        Round 2: AnTuTu scores drop dramatically for AtomKlimax2013/07/14 10:59 PM
                        Round 2: AnTuTu scores drop dramatically for AtomDavid Kanter2013/07/15 01:57 PM
                          Intel is cheating AnTuTuWilco2013/07/15 03:43 PM
                            Intel is cheating AnTuTubakaneko2013/07/15 07:47 PM
                              Intel is cheating AnTuTuLinus Torvalds2013/07/15 08:45 PM
                                Intel is cheating AnTuTubakaneko2013/07/16 02:42 AM
                                  Intel is cheating AnTuTuWilco2013/07/16 03:47 AM
                                    Intel is cheating AnTuTubakaneko2013/07/16 05:50 AM
                                      Intel is cheating AnTuTuWilco2013/07/17 03:33 PM
                                        Intel is cheating AnTuTuKlimax2013/07/17 11:29 PM
                                          Intel is cheating AnTuTunone2013/07/17 11:35 PM
                                            Intel is cheating AnTuTuKlimax2013/07/18 01:41 AM
                                              Intel is cheating AnTuTuanon2013/07/18 02:10 AM
                                                Intel is cheating AnTuTuMichael S2013/07/18 03:39 AM
                                                Intel is cheating AnTuTuWilco2013/07/18 04:07 AM
                                                  Intel is cheating AnTuTunone2013/07/18 04:15 AM
                                                    Intel is cheating AnTuTuWilco2013/07/18 05:18 AM
                                                    Intel is cheating AnTuTuMichael S2013/07/18 06:44 AM
                                                      Intel is cheating AnTuTunone2013/07/18 07:47 AM
                                                        strict aliasingMichael S2013/07/18 08:10 AM
                                                          strict aliasing rules have existed since C89 (NT)Ricardo B2013/07/18 05:28 PM
                                                  Intel is cheating AnTuTuKlimax2013/07/18 11:30 AM
                                                Intel is cheating AnTuTuKlimax2013/07/18 11:39 AM
                                                  Intel is cheating AnTuTuanon2013/07/18 12:05 PM
                                                    Intel is cheating AnTuTuKlimax2013/07/20 12:05 AM
                                                      Intel is cheating AnTuTunone2013/07/20 02:50 AM
                                                  Intel is cheating AnTuTunone2013/07/18 12:38 PM
                                                    Intel is cheating AnTuTuKlimax2013/07/19 11:57 PM
                                  Intel is cheating AnTuTuLinus Torvalds2013/07/16 12:32 PM
                                Intel is cheating AnTuTu2013/07/16 03:16 AM
                                  Intel is cheating AnTuTubakaneko2013/07/16 04:55 AM
                                    Intel is cheating AnTuTuWilco2013/07/17 03:46 PM
                                      Intel is cheating AnTuTubakaneko2013/07/18 02:05 PM
                                      Intel is cheating AnTuTuDavid Kanter2013/07/19 02:31 AM
                          Round 2: AnTuTu scores drop dramatically for Atomanon2013/07/15 04:43 PM
                            Round 2: AnTuTu scores drop dramatically for Atomnone2013/07/16 12:15 AM
                          Round 2: AnTuTu scores drop dramatically for AtomGroo2013/07/16 07:35 AM
        ARM at Computexanon2013/06/04 10:43 PM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell tangerine? 🍊