Confirmed users
32
edits
(Created page with "This page describes the idea of the memory profiler that focuses on the memory footprints of execution flows. == Objectives == Traditional memory analysis tools look at the d...") |
(A memory profiler that focuses on execution flows.) |
||
Line 1: | Line 1: | ||
This page describes the idea of | This page describes the idea of a profiler that focuses on the memory footprints of execution flows. | ||
== Objectives == | == Objectives == | ||
Line 35: | Line 35: | ||
These sampled events can be used to approximate the full history of allocations afterwards. That means we can get various memory profiles of a program in different perspectives by post-processing the history in different ways. | These sampled events can be used to approximate the full history of allocations afterwards. That means we can get various memory profiles of a program in different perspectives by post-processing the history in different ways. | ||
The profiler is designed at the very beginning to support not only JavaScript but also native codes. Naturally, not only JavaScript objects but also native allocations are tracked. | |||
== Applications == | == Applications == | ||
Besides the two examples showing the functions retaining most and having highest peak, it can be used to find out functions, code snippets or call paths allocating most. | Besides the two examples showing the functions retaining most and having highest peak, it can be used to find out functions, code snippets or call paths allocating most. | ||
Line 42: | Line 43: | ||
With the help of the timestamp, a size-time map can be plotted, too. | With the help of the timestamp, a size-time map can be plotted, too. | ||
== Ongoing | == Ongoing Tasks == | ||
The profiler is composed of two parts: the sampling engine and the front-end. Currently most of the efforts are devoted to the back-end and only a few JavaScript examples (quite useful but less convenient than you would expect) is available to give access to the profiler. | The profiler is composed of two parts: the sampling engine and the front-end. Currently most of the efforts are devoted to the back-end and only a few JavaScript examples (quite useful but less convenient than you would expect) is available to give access to the profiler. | ||
Currently Gary is working on a GUI front-end that will have a ranking-list view, a call-tree view and a memory size timeline. |