Warning

You're browsing the old v2.x documentation. This version is no longer maintained. Click here to go the v3.x documentation.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
performance [2019/08/05 11:47] – [Tip #8 REPEAT ... UNTIL is faster than FOR ... NEXT] neilsperformance [2021/01/10 19:21] (current) – [Tip #3: Do arithmetic only when necessary] gabrielsroka
Line 15: Line 15:
 ==== Tip #3: Do arithmetic only when necessary ==== ==== Tip #3: Do arithmetic only when necessary ====
  
-Even the simplest addition or substraction can take precious time, especially when used in loops. Make sure to eliminate all the arithmetic operations that are not necessary in runtime.+Even the simplest addition or subtraction can take precious time, especially when used in loops. Make sure to eliminate all the arithmetic operations that are not necessary in runtime.
  
 Wrong example: Wrong example:
Line 98: Line 98:
   until i! = 100   until i! = 100
      
-==== Tip #9: Know the optimizer ====+==== Tip #9: Use LSHIFT() and RSHIFT() ==== 
 + 
 +It's much faster to multiply or divide by powers of two using bit shifting operations. Use [[lshift|LSHIFT()]] and [[rshift|RSHIFT()]] whenever you can. 
 + 
 +==== Tip #10: Know the optimizer ====
  
 **XC=BASIC** features a built-in optimizer that replaces commonly used program sequences with faster opcode sequences. To make good use of the optimizer, bear in mind the following program structures that can be optimized: **XC=BASIC** features a built-in optimizer that replaces commonly used program sequences with faster opcode sequences. To make good use of the optimizer, bear in mind the following program structures that can be optimized: