newbie question about 'tracing'

Discuss topics that apply across the products, such as the PocketC language, or development in general

Postby dgries on Tue Oct 09, 2001 12:48 pm

I am trying to make my program more efficient and a programmer told me to see if pocketc could 'trace' my program. Does anyone out there know if I can do this with pocketc? Thanks much.
Posts: 3
Joined: Wed Jan 31, 2001 5:43 pm

Postby guy on Tue Oct 09, 2001 1:07 pm

You'd need a modified PocketC runtime. I think what you're after is something called profiling. This shows you which parts of the program are most used and take up most time.

The best thing to do is to just look at your source code and optimise the bits that are used the most. Look particularly at loops and loops within loops. See whether there is any code that you can move to outside the loop. For short loops you could try "unrolling" them. Instead of having a loop, repeat the code for each iteration.

See whether replacing a function call with the function body inline helps. Particularly for function calls within loops. See whether it makes sense to replace a function with a macro.

If you have any loops that contain calculations on the loop variable, see whether having a second variable that you "lock" to the loop variable results in fewer or simpler operations. If you have two variables locked, try using just one (so try the optimisation both ways around).

Look to see if you can replace several "little" operations with one big operation.

Check to see whether you're doing the same calculation more than once, and replace second calculation with a variable that you assigned to the first one.

Remove as many string assignments and operations as possible.

Check that you're not asigning values to variables that aren't used, or to variables that are simply functions of other variables.

Change "expensive" operations to cheap ones. For example change multiplication by powers of two into left shifts. Change division by powers of two into right shifts.

You could write a program that takes your source code and adds a write to a file at each statement. Then you could run the resultant program and analyse the file that is written.

There may be some shareware profilers available that would work with Pocketc.

Just make the parts of the program where the processor spends most of its time are as efficient as possible.

PocketC CE API interface:
PCForm and CE API forum:
Posts: 879
Joined: Thu Dec 07, 2000 8:58 am
Location: United Kingdom

Return to General Discussion

Who is online

Users browsing this forum: No registered users and 1 guest