Explain the commonly used code optimization techniques, Computer Engineering

Assignment Help:

Explain briefly any three of the commonly used code optimization techniques.

1. Common sub expression elimination:

In given expression as "(a+b)-(a+b)/4", in such "common sub-expression" termed to the duplicated "(a+b)". Compilers implementing such technique realize that "(a+b)" would not modify, and by itself, only compute its value once and use similar value next time.

2. Dead code Elimination:

Code which is unreachable or which does not influence the program (for example dead stores) can be removed. In the illustration below, the value assigned to i is never utilized, and the dead store can be removed. The first assignment to global is dead, and the third assignment to global is not reachable; both can be removed.

int global; void f (){ int i;

i = 1;          /* dead store */

global = 1;     /* dead store */

global = 2;

return;

global = 3;     /* unreachable */}

Below is the code fragment after dead code elimination.

int global;

void f (){ global = 2; return;}

3. Loop-invariant code motion

If a quantity is calculated inside a loop during iteration and its value is similar for iteration, this can vastly improve efficiency to hoist this outside the loop and calculate its value just once before the loop begins. It is particularly significant with the address-calculation expressions generated through loops over arrays. For accurate implementation, such technique must be utilized with loop inversion, since not all code is safe to be hoisted outside the loop.

For illustration:

 for (i=1; i≤10, i++){

x=y*2-(1)

.

.

.

}

statement 1 can be hoisted outside the loop assuming value of x and y does not modify in the loop.


Related Discussions:- Explain the commonly used code optimization techniques

Illustrate working of J-K flip-flop, Q. Illustrate working of J-K flip-flop...

Q. Illustrate working of J-K flip-flop? J-K flip-flop is also a modification of SR flip-flop since it has 2 inputs same as S and R and all possible inputs combinations are vali

Describe the contents of a process control block, Describe the contents of ...

Describe the contents of a Process Control Block (PCB). Process Control Block (PCB): All processes are represented in the operating system by a task control block or a proces

QUELING SYTEM , SHOW THAT AVERAGE NUMBER OF UNIT IN A (M/M/1) QUELING SYTEM...

SHOW THAT AVERAGE NUMBER OF UNIT IN A (M/M/1) QUELING SYTEM IS EQUAL TO P/(1-p). NOTE:P=ROW

DBMS, Difference between Paperbase and computer base system?

Difference between Paperbase and computer base system?

Loop statement in both the pbo and pai events, Why do we need to code a LOO...

Why do we need to code a LOOP statement in both the PBO and PAI events for each table in the screen? We require coding a LOOP statement in both PBO and PAI events for every ta

State the concept of multiplicity, Multiplicity Multiplicity in an ass...

Multiplicity Multiplicity in an association specifies tells us about number of objects participate in a relationship. It decides the number of related objects. Multiplicity is

Explain about the data logging, Data logging  This technique involves ...

Data logging  This technique involves collecting data automatically using sensors; frequently used when doing scientific experiments or monitoring a system.

Which is valid syntax of the fork and join primitive, Which is valid syntax...

Which is valid syntax of the Fork and Join Primitive? Ans. A valid syntax of the Fork and Join Primitive is as given below: Fork Join

State about the object models, State about the Object models Object mo...

State about the Object models Object models are used for explaining the objects in the system and their connection with each other in the system. The dynamic model explains in

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd