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:
|
5451 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:
16 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
Active threads in...
Robotics
NXT programmable brick
|
|
|
|