To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.robotics.nxtOpen lugnet.robotics.nxt in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / NXT / 405
404  |  406
Subject: 
RE: Another Challenge. Performance Comparison
Newsgroups: 
lugnet.robotics, lugnet.robotics.nxt
Date: 
Sun, 21 Jan 2007 12:56:51 GMT
Reply-To: 
<dickswan@AVOIDSPAMsbcglobal.net>
Viewed: 
6564 times
  
> Claude Baumann wrote on Sunday, January 21, 2007 5:30 AM
> 
> I would like to ask for participating in my "another comparison"
> thread challenge, to compare the performences in ultimative tasks of
> different environments and firmware types. This would be more
> fruitful.

Here's my distilled summary of relative execution speeds of various
Mindstorms products / environments. All data is normalized to the
fastest performance.

Relative   Platform     Product
  Speed
   1X        NXT        RobotC
   2X        NXT        Robolab
  15X        NXT        NXT-G

5-10X        RCX        BrickOS
  10X        RCX        RobotC
  20X        RCX        Robolab
500X        RCX        Original LEGO firmware

Above is a blend of a number of different measurements for "real" tasks.

It's very difficult to come up with a true comparison when looking at
speeds of individual instructions in the different VMs because there's
so much difference in the power of the underlying "opcodes". For
example, a register oriented instruction set "X += Y" (RobotC, Robolab,
LUA) might take a single opcode whereas in a stack oriented instruction
set (LeJOS?) it might take four opcodes (PUSH, PUSH, ADD, POP) to
accomplish the same thing. Stack based instruction sets are "best" with
some other atrributes.

I have execution times for individual opcodes for RobotC and NXT-G.
[NXT-G measurements are thanks to Brian Davis]. Because of above, you
can't do a direct comparison. Here's timing for simple arithmetic
operations:

1. RobotC on NXT:  2 to 5 microseconds
2. RobotC on RCX: 15 to 50 microseconds
3. NXT-G:         30 microseconds + operand lookup.

The RobotC timings include operand lookup. NXT-G does not when the
operand is sensor variable or motor encoder which can take another 100s
(or 1000s for ultrasonic) of microseconds to look up.



Message is in Reply To:
  Re: This is the cancer that is killing Lugnet (Was Re: Apology)
 
(...) ...//snip... ...snip// (...) In fact, the whole Internet is a wasteland !! Anybody can do anything there!! For me LUGNET/robotics is an excellent forum. I participate for several years now and I must appreciate the contributions of many (...) (20 years ago, 21-Jan-07, to lugnet.robotics, lugnet.robotics.nxt)

16 Messages in This Thread:







Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR