One of the tricks-of-the-trade when doing embedded programming is to make local copies of member variables. I.e., if you have an object foo with a member bar you would do this:
float bar;
...
bar = foo.bar;
for(i = 0; i < FRAME_SIZE; i++)
{
...
bar = bar * x; // for example
...
}
foo.bar = bar;
The operation on bar is a "Read-Modify-Write (RMW)" and most embedded processors are optimized for this if the memory is L1 cache (or some other tightly-coupled on-chip memory). By making a local copy you force the compiler to use fast, local memory. When you are done with the loop you then save the local variable to the object.
Some compilers will do this automatically if you give them some information about the variable via a pragma. I think it's just easier to manually do it rather than dealing with pragmas which aren't portable.
The danger with doing this is if you forget to initialize bar or save it at the end, which is what I did.
As did I . . .And on top of everything else, today I learned about the “ignore” function. Very satisfying.
As an hardware/software engineer, I'm not amused, obviously the tools you're using don't catch those type of errors. Sounds like you're not doing code reviews. I would love to have more usable effects in my AX8 - so get those firmware updates rolling !!
on 10.01?While cycling presets the axe crashed while making a high pitched noise after the update
Lines of code does not equal skill or quality of work.
I work with lots of people who spew lines of code that I often recommend to be changed to something vastly less size and more efficient. Skill is often doing the same (or more) work with less code.
However, I don't know you and don't care to judge your unseen code.
It's just the attitude and tone of your post that is being responded to here... Maybe re-read what you posted?
Yep! It's confirmed, Cliff got off the same Spaceship as Steve Vai! You are out of this world man! thank you, thank you, thank you, will never get tired of saying that!! by the way, Quantum 10 sounds amazing!! so much more openness to the sound!! wow Kudos!! LOL FlavOne of the tricks-of-the-trade when doing embedded programming is to make local copies of member variables. I.e., if you have an object foo with a member bar you would do this:
float bar;
...
bar = foo.bar;
for(i = 0; i < FRAME_SIZE; i++)
{
...
bar = bar * x; // for example
...
}
foo.bar = bar;
The operation on bar is a "Read-Modify-Write (RMW)" and most embedded processors are optimized for this if the memory is L1 cache (or some other tightly-coupled on-chip memory). By making a local copy you force the compiler to use fast, local memory. When you are done with the loop you then save the local variable to the object.
Some compilers will do this automatically if you give them some information about the variable via a pragma. I think it's just easier to manually do it rather than dealing with pragmas which aren't portable.
The danger with doing this is if you forget to initialize bar or save it at the end, which is what I did.
I am sure you didn't read what you wrote, or maybe you did! Not here dude, appreciate everything Cliff and FAS have done and continue to do for a Product that has no rival even more so when it comes down to customer service and FREE UPGRADES, repeat FREE UPGRADES! LOLAs an hardware/software engineer, I'm not amused, obviously the tools you're using don't catch those type of errors. Sounds like you're not doing code reviews. I would love to have more usable effects in my AX8 - so get those firmware updates rolling !!
I'm ready to comfortably retire
I am an ASIC designer by trade. I used to work for a rather large company, which shall remain nameless, that does microprocessors. At on point we were graded by the number of gates we created everyday. Not the best indicator of efficiency let me tell you. I could instance a 32 bit register in a for generate loop and create over a million gates in about 3 minutes. But it would be useless logic.Lines of code does not equal skill or quality of work.
I work with lots of people who spew lines of code that I often recommend to be changed to something vastly less size and more efficient. Skill is often doing the same (or more) work with less code.
However, I don't know you and don't care to judge your unseen code.
It's just the attitude and tone of your post that is being responded to here... Maybe re-read what you posted?
As an hardware/software engineer, I'm not amused, obviously the tools you're using don't catch those type of errors. Sounds like you're not doing code reviews. I would love to have more usable effects in my AX8 - so get those firmware updates rolling !!