Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #39981

Re: Loop optimisation.

Newsgroups comp.lang.javascript
Date 2021-04-18 19:06 -0700
References (3 earlier) <1110f942-cc14-45b2-966b-a4442461f170n@googlegroups.com> <9878253.nUPlyArG6x@PointedEars.de> <2144986.iZASKD2KPV@PointedEars.de> <8568ec13-3f65-4b1d-b9b3-decd9eacebe3n@googlegroups.com> <7236162.EvYhyI6sBW@PointedEars.de>
Message-ID <e8427a62-49de-4c73-8915-e27f045b45b2n@googlegroups.com> (permalink)
Subject Re: Loop optimisation.
From Scott Sauyet <scott.sauyet@gmail.com>

Show all headers | View raw


Thomas 'PointedEars' Lahn wrote:
> Michael Haufe (TNO) wrote: 
> 
> [ ... ]You still appear to think that “JIT” is something new. 
> It isn’t:

>> What the modern "JIT"s do is different than what the original 
>> interpreters were accomplishing. As mentioned in Brendan's original post 
>> on TraceMonkey they enabled the ability to dynamically go from the 
>> interpreted byte code to more low-level forms including machine code with 
>> direct register access.

> As I already said, this has happened *from the beginning*, since the very 
> first version of SpiderMonkey in Netscape Navigator. TraceMonkey only 
> *improves* that.

Do you have any evidence of this?  I strongly remember TraceMonkey being 
the first JIT JS compiler, and the Brendan Eich article already mentioned
[1] and an Ars Technica one from 2008 [2] seem to confirm this, although 
it's not entirely explicit.

The question is whether before TraceMonkey any engines had Just-in-Time
compilation, meaning that using runtime performance numbers they would
hot-swap more performant low-level snippets in place of the current
running ones.  As far as I can tell, until 2008's TraceMonkey, all engines
used only Ahead-of-Time compilation techniques.

The MDN article on bytecode [3] does not offer anything new here.  That
the engine generates bytecode is certainly not news to a programming
languages enthusiast like Michael Haufe.  The question is when JIT 
compilation came to the engines.  And if there's any evidence that it
was available before TraceMonkey, I'd be very interested in seeing it.

  -- Scott



  [1]: https://brendaneich.com/2008/08/tracemonkey-javascript-lightspeed/
  [2]: https://arstechnica.com/information-technology/2008/08/firefox-to-get-massive-javascript-performance-boost/
  [3]: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Internals/Bytecodes

Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Loop optimisation. The Natural Philosopher <tnp@invalid.invalid> - 2021-04-10 18:41 +0100
  Re: Loop optimisation. John G Harris <niam@jghnorth.org.uk.invalid> - 2021-04-10 19:14 +0100
    Re: Loop optimisation. The Natural Philosopher <tnp@invalid.invalid> - 2021-04-11 11:33 +0100
      Re: Loop optimisation. John G Harris <niam@jghnorth.org.uk.invalid> - 2021-04-11 15:03 +0100
        Re: Loop optimisation. "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2021-04-11 07:38 -0700
          Re: Loop optimisation. Jonas Thörnvall <jonas.thornvall@gmail.com> - 2021-04-11 13:36 -0700
          Re: Loop optimisation. John G Harris <niam@jghnorth.org.uk.invalid> - 2021-04-12 18:05 +0100
            Re: Loop optimisation. The Natural Philosopher <tnp@invalid.invalid> - 2021-04-12 23:16 +0100
              Re: Loop optimisation. Jonas Thörnvall <jonas.thornvall@gmail.com> - 2021-04-13 05:19 -0700
                Re: Loop optimisation. "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2021-04-13 06:21 -0700
        Re: Loop optimisation. The Natural Philosopher <tnp@invalid.invalid> - 2021-04-12 01:36 +0100
          Re: Loop optimisation. John G Harris <niam@jghnorth.org.uk.invalid> - 2021-04-12 18:04 +0100
            Re: Loop optimisation. The Natural Philosopher <tnp@invalid.invalid> - 2021-04-12 23:09 +0100
              Re: Loop optimisation. John G Harris <niam@jghnorth.org.uk.invalid> - 2021-04-13 20:08 +0100
                Re: Loop optimisation. The Natural Philosopher <tnp@invalid.invalid> - 2021-04-13 21:41 +0100
                Re: Loop optimisation. John G Harris <niam@jghnorth.org.uk.invalid> - 2021-04-14 18:24 +0100
  Re: Loop optimisation. Kristjan Robam <he12457@hotmail.com> - 2021-04-10 13:36 -0700
    Re: Loop optimisation. The Natural Philosopher <tnp@invalid.invalid> - 2021-04-11 11:34 +0100
  Re: Loop optimisation. "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2021-04-10 22:22 -0700
    Re: Loop optimisation. The Natural Philosopher <tnp@invalid.invalid> - 2021-04-11 11:36 +0100
    Re: Loop optimisation. Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2021-04-14 02:20 +0200
      Re: Loop optimisation. "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2021-04-14 06:48 -0700
        Re: Loop optimisation. Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2021-04-14 17:31 +0200
          Re: Loop optimisation. Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2021-04-14 18:00 +0200
            Re: Loop optimisation. The Natural Philosopher <tnp@invalid.invalid> - 2021-04-14 19:25 +0100
            Re: Loop optimisation. Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2021-04-14 23:10 +0200
              Re: Loop optimisation. "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2021-04-17 09:45 -0700
            Re: Loop optimisation. "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2021-04-17 09:43 -0700
              Re: Loop optimisation. Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2021-04-17 21:45 +0200
                Re: Loop optimisation. Scott Sauyet <scott.sauyet@gmail.com> - 2021-04-18 19:06 -0700
          Re: Loop optimisation. "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2021-04-17 08:50 -0700

csiph-web