Opened 15 years ago
Last modified 12 years ago
#770 assigned enhancement
A new frequence oriented profiler for TOL functions
Reported by: | Víctor de Buen Remiro | Owned by: | Jorge |
---|---|---|---|
Priority: | normal | Milestone: | Mantainance |
Component: | Kernel | Version: | |
Severity: | major | Keywords: | |
Cc: |
Description
Current TOL profiler builds a report about execution time of each TOL function and is controlled with
Real TolOprProfiler.Enabled := True; ... Real TolOprProfiler.Dump(Text pathPrefix) ;
Current measurement method is to take the difference of values of BSys::SessionTime() between starting and ending of each function call.
Then, this total time integrates the time used by all functions called inside a function. So almost always the time is assigned to functions like EvalSet
, For
, While
, etc.; which has no significance in order to know were the time is lost.
A complementary measurement could be done by means of an external process that annotates the current running function at regular time interval. Dividing the total time proportionally to the frequence of times each function has been found as the current one, we can get a good aproximation of real time lost in each one.
Change History (6)
comment:1 Changed 14 years ago by
Status: | new → accepted |
---|
comment:2 Changed 12 years ago by
Owner: | changed from Víctor de Buen Remiro to Jorge |
---|---|
Status: | accepted → assigned |
- Un hilo contador del profiler
- TolOprProfiler::current_->tickCounter_++
- Real TolOprProfiler.Init(Real tickResolution)
At C and C++ level, there are external profiling tools that can help to find bottlenecks :
For Linux
For windows: