const int size=3;
//This whole for loop would be directly replaced by count++;count++;count++; instead.
Does this idea regarding loops make sense?
· March 17, 2015
I was always thinking that for loops can be extremely inefficient b/c of the constant condition checking. Thinking about it this way means that hardcoding would be a better idea to improve performance, but then the code would become hard to read and hard to change. So what I was thinking about was writing a program that would take a file,scan for loops, in particular for loops that could be replaced with hard coded replacements. Then, I get all the efficiency I want. I was thinking that for safety, I could only perform this kind of optimization for const variables. Let me show an example of what I mean.
Post a Reply
|Oldest Newest Rating|
· March 18, 2015
Thanks for the link. I did read up on it properly looking for the segment you were referring to. If there is a flag that already does this, there really is no need at all for this kind of optimization
To clarify about what I was saying, I am not going to meddle with the actual compiler. Instead, I'm aiming to actually replace the code itself with a hard-coded version of what the code would do. For ex., if I took in a cpp file and it contained a for loop like what I showed above, it would scan the C++ code, output the file with a new name. Then, I could compile that file instead.
The main purpose will just be to remove conditional statements b/c conditionals can be very expensive in terms of computations. Explanation: http://stackoverflow.com/questions/315306/is-if-expensive
So basically, I was aiming for is something like this:
original code->optimized code->compiler,->binary
Not what I was aiming for:
not original code->my compiler->binary
· March 17, 2015
So these kinds of optimizations are already performed, then. Thanks for the information.
Used in many types of software including music players, video games, and many large scale applications.
|Bucky Roberts Administrator|