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@sbcglobalSPAMLESS.net>
Viewed: 
5420 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 (...) (17 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
    

Custom Search

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