Page 3 of 4

Re: hw brickbench: Benchmark test for NXT and EV3

Posted: 24 Nov 2014, 07:32
by Stryker295
Do I understand this correctly, that "0 integer add/subtr — 3353 — 1561 — 727 — 29" means the first one (NXC) took 3,353 ms, the next (RobotC) took 1,561 ms, etc etc?

I would LOVE to see a comparison against the base NXT firmware and coding platform (NXT-G I think it's called?), but if these numbers mean what I think they mean, I might need to switch to RobotC :o

Re: hw brickbench: Benchmark test for NXT and EV3

Posted: 24 Nov 2014, 08:12
by HaWe
yes, the first one (NXC) more than 3000ms, nxtOSEK C 29ms (1/100) a.s.o.
the NXT Lego fw is supposed to work not essentially slower than the EFW all over IMO (CMIIW) except for array operations, esp. more-dimensional ones.
But AFAIK they are not supportet at all by the std Lego fw anyway - but try it by your own, if you want, and I'm curious about the results if you manage to make it run! :)
(edited, typo corr.)

Re: hw brickbench: Benchmark test for NXT and EV3

Posted: 24 Nov 2014, 08:17
by Stryker295
HaWe wrote:the NXT Lego fw is supposed to work not essentially slower all over IMO (CMIIW) except for array operations, esp. more-dimensional ones.
Not sure I understand that bit D: I'm pretty tired right now though hah. Are you saying it's supposed to be that slow, but really good at arrays?

I've been using it for my balancing robots, and I found that even with heavily optimized code, some things were still too slow to run correctly. I've upgraded sensors to work around that issue, as well as provide better data, but still... it looks like it's actually the slowest out of all of them, and since I'm about to dive into realtime inverse kinematics, I'd like something that's quite snappy.

Might also improve the response time of the code for my balancing robots xD They always seemed a bit wobbly.

Re: hw brickbench: Benchmark test for NXT and EV3

Posted: 24 Nov 2014, 08:26
by HaWe
IMO the NXT stdFW and the EFW are equally slow (maybe in some tests the stdFW even 20% slower than the EFW).
for 1-dim array operations the EFW is supposed to work much faster (stdFW maybe just as slow as RobotC)
more-dim arrays probably won't work at all on the std fw

- but try it out! just load the code and compile it to the stdFW-target, and run!

Re: hw brickbench: Benchmark test for NXT and EV3

Posted: 24 Nov 2014, 10:03
by Stryker295
I don't know what the EFW stands for, and unfortunately I don't have direct access to my NXT—currently it's sitting a day or two's travels away, on the opposite side of the country.

I may slap one of my pre-existing balancing programs on it with an extra line or two for benchmarking purposes, and then try and port it to RobotC as well, once I get the NXT over here to mess with :P

Re: hw brickbench: Benchmark test for NXT and EV3

Posted: 24 Nov 2014, 10:06
by HaWe
EFW = Enhanced Firmware (by John Hansen, coming with BricxCC for NXC), this is the one which had been tested by Brickbench

stdFW = standard Lego Firmware (not tested)

Re: hw brickbench: Benchmark test for NXT and EV3

Posted: 24 Nov 2014, 10:08
by Stryker295
Ahhh, the one with floats instead of ints I guess?

Re: hw brickbench: Benchmark test for NXT and EV3

Posted: 24 Nov 2014, 10:09
by HaWe
yes, more or less ;)
the EFW is always recommended for use by NXC.

Re: hw brickbench: Benchmark test for NXT and EV3

Posted: 24 Nov 2014, 10:11
by Stryker295
Righto! But if I'm switching to RobotC... hmmm.

Re: hw brickbench: Benchmark test for NXT and EV3

Posted: 24 Nov 2014, 10:15
by HaWe
then you may wish to check the RobotC performances !
(RobotC firmware and original Lego/NXC- firmware are always absolutely incompatible)

- and note that Robotc on EV3 just has 15k bytes RAM for variables just like on the NXT (others have 40 Mbyte RAM and even more!) and additionally no double precision float (= 64bit) like all others for EV3 (what both is indispensible IMO for a 32bit platform).