I am writing an application for Android, which uses a library SoX. This library is very strong ARM processor loads. Prompt please: where I can read about how to optimize a library for ARM. Can someone help?
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
I’ve been optimizing codes in assembly for quite some time starting with the MC68000 on Amiga, then mainly ARM9E (ARMv5E).
ARM11 was fine with the new SIMD like instructions and saturations. Then came Coretex.
You know what? NEON that came bundled with the Coretex-A series took away the whole motivation optimizing for ARM from me.
Unoptimized NEON codes out of box run roughly 5X faster than assembly optimized ARM codes, and it’s so much easier than ARM itself : where I had to struggle hard to get things work, NEON almost always has fitting instructions doing exactly the same or even more accurate on multiple elements at once.
I read that the ARM instruction timings changed much from Coretex in addition to the dual-issue capability which means I have to do many things differently than on ARM9 for maximum performance, but honestly, I don’t care anymore. NEON is the way to go.
bye-bye ARM
Don’t waste your time on ARM – and especially NEON intrinsics. Start studying NEON instead.
An excellent introduction to NEON : http://bit.ly/8XzPXM