Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • pike pike
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 119
    • Issues 119
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • pikelang
  • pikepike
  • Issues
  • #5131
Closed
Open
Created Dec 01, 2009 by Peter Bortas@zinoOwner

Incorrect profiling of recursive functions using --with-profiling

Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=5131

Reported by Jonas Wallden jonasw@roxen.com

Note the bogus 950 seconds reported for fn() and its children. The 191 msec for the function itself is correct though.

Pike v7.8 release 371 running Hilfe v3.5 (Incremental Pike Frontend)
> class C { void fn(int x, int limit) { if (x < limit) fn(x + 1, limit); } };
> object c = C();                                                            
> gauge { c->fn(0, 10000); };                                                
(1) Result: 0.191259
> get_profiling_info(C);
(2) Result: ({ /* 2 elements */
                1,
                ([ /* 1 element */
                  "fn": ({ /* 3 elements */
                        10001,
                        950974,
                        191
                    })
                ])
            })
Assignee
Assign to
Time tracking