Main Site Documentation

G400, How fast is it really?


I have been eyeing a project for a while, and like most guys like me my first language was C#/managed code. Getting my mind to go backwards to c/c++ and having to learn linker files has been to time consuming.:stuck_out_tongue:

My question is around fast computing in the micro environment with the G400.

I need the ability to read a ~4mb (binary) file from SD into memory, manipulate it, and then send it over CAN. I tested this with the G120 and the time to read the file into a LargeBuffer was almost a minute I think. This is extremely slow.

I am also wondering about GUI performance (vs native frameworks like TouchGFX), threading performance (vs a bare metal RTOS), computation such as CRC.

Could the G400 foot the bill? or is native the only way to go?


Do you mean on G120 the speed is ~ 4MB/min ?

Something need to be optimized in your code. Last time we check, reading should be few hundred KBs a second. So reading 4MB should be under 20 seconds.

Also depends on your SD card.


Native is always faster than managed but you have to keep in mind that most available functionality is internally implemented natively, so it is fast. On the bright side, you will be able to develop faster and can step through code with a simple USB cable. Plus you do not have to worry about a full operating system issues.


Thank you both for your answer. I think the best way to truly test is to get a G400 dev board and see! (Which it says I have to call to order? mouser is out :frowning: )

Another question to come :wink:


In general I think a lot of computingpower is invested in the relatively easy way of getting complex programs to work in a nice language. If complex calculations have to be done it can become extremely slow because the interpreted code can’t work that effective, this should be implemented in native code via RLP. There was a PDF with explanations and CRC-benchmarks (comparing c# and c++ via RLP) somewhere in this forum :thinking:…