Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
08/01/05 09:21
Read: times


 
#98560 - The compiler knows
Responding to: ???'s previous message
Andy, I didn't know what's the proper name - profiler then, thank you. I have not seen any, is it standalone or integrated with the compiler/linker/whatever other tool?

But if there is none available for '51, I will return to my original idea:
Andy Neil said:
There is absolutely no guarantee whatsoever that any particular sequence of source statements will generate any specific set of machine instructions; therefore it is impossible to predict execution timings from 'C' source code.

My point is, the compiler knows what is the source/it's "fundamental" blocks and the corresponding assembler output so the compiler is the best place where I would expect to such "profiling" should be integrated into.

Of course it is far from being straighforward, of course, but provide at least some baseline tool - anyway, cycle counting will apply only to a couple of limited cases, usually to a short fragment of code (e.g. timer ISR).

Andy Neil said:
Although not automated, you could use the Performance Analyser in Keil's simulator/debugger to do this manually.
As I can use any other simulator/debugger for the same task; but here the major drawback is, that you need to perform the simulation/cycle counting each time whan you recompile, while the integrated "profiler" will return the up-to-date result upon each compilation.

Jan Waclawek


List of 18 messages in thread
TopicAuthorDate
Counting cycles... possible in C?            01/01/70 00:00      
   You need a Profiler            01/01/70 00:00      
      The compiler knows            01/01/70 00:00      
         Source code useless            01/01/70 00:00      
         That's why you need Assembler!            01/01/70 00:00      
            nohohoho            01/01/70 00:00      
               Speed is not everything!            01/01/70 00:00      
   Cycles vary?            01/01/70 00:00      
      I know            01/01/70 00:00      
   absolutely, but what good does it do            01/01/70 00:00      
      other way round            01/01/70 00:00      
         Yes, the things posted apply in this cas            01/01/70 00:00      
            exactly for this reason            01/01/70 00:00      
               how can you automate that it is small en            01/01/70 00:00      
   Use Microsoft Excel            01/01/70 00:00      
      excel and conditional branches ?            01/01/70 00:00      
         That's why            01/01/70 00:00      
            That makes absolutotally no difference,            01/01/70 00:00      

Back to Subject List