Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • pike pike
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 104
    • Issues 104
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • 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
Issue 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