G120 Performance Boost?

This is primarily about setting realistic expectations but what kind of performance increases should one expect when going from a Panda II to a Cobra II?

I have previously written some managed code for the Panda II which parses a fairly long byte array, looking for a specific pattern of bytes and returning its index.

That code has since been ported to a Cobra II by starting a new 4.2 project, adding the source code, and updating references and namespaces to agree with the 4.2 convention.

Shockingly, the execution times between the Panda II and Cobra II programs are almost exactly the same. In fact, the Cobra II is a tiny, tiny smidge slower. This was not the outcome I was expecting. Mainly due to the improvement in DMIPS when going from an ARM7 to Cortex-M3, I was expecting perhaps a 50% speed boost.

Was this a naive expectation? Does the managed layer swamp any processor gains? Perhaps the G120 incurs additional latency when accessing its much larger RAM?

Basically, typically how much faster should a G120-based solution be?

a g120 solution will not be faster. as you saw, it will be a Little slower. this is due to the use of external memory with the g120 versus internal memory with the USBizi chip.

What you see is expected. Many factors come in play, not just the CPU clock.

By the way, there is a way to make G120 runs almost double fast by overclocking the SDRAM but that is beyond what the manufacture recommends. You can look at teh CPU datasheet if you want to change the clock device on SDRAM from 2 to 1, using the Register class.

Gus and Mike, thanks.

Looks like RLP will be needed after all. Is it slated to be included in the next firmware release? Very roughly when is it expected to come out?

Rlp has been out for months! Did you see anywhere it said it is not?

I remember seeing a thread where it was mentioned that there was a problem with RLP for the G120 here: http://www.tinyclr.com/forum/topic?id=10290

Oh, and that post does mention a wait time of a few weeks, but since this project is for a commercial product, I’m looking for a more refined estimate. Is a “few weeks” analogous to a month from now? Or closer to 3 months in the future?

If it’s a commercial product, you’re probably best reaching out to GHI directly and not over the forum.

Oh I remember. It is there but needs fixing.

Next SDK is couple weeks away.

@ Iggmoe - Thanks for your sharing this information. I was also expecting a huge performance boost from the g120 over the Panda, so thanks for sharing your experience.

@ Iggmoe - I too am surprised! However, I remember a post on this forum many months ago comparing the speed of a Panda II to a Cobra I, and the author of the post was surprised to find that the Cobra I was actually slower than the Panda II. The reason was the same, the Cobra was accessing external RAM.

Yeah, the external memory makes sense as a culprit. I’m just glad RLP exists as a fallback!

Hmm, by setting Bit 0 of the EMCCLKSEL register to 0, I got a 32.3% speed boost for my particular process. The speed is currently borderline for what I need, so RLP may still be needed, but hey, it’s pretty cool to see it work!

Is this the perform-at-your-own-risk overclocking technique that’s been mentioned for the G120? I ask because it seemed a little too easy =)
Dunno if something else needs to be done.