summaryrefslogtreecommitdiffstats
path: root/runtime/base/histogram.h
Commit message (Collapse)AuthorAgeFilesLines
* Fix systrace logging, total paused time, and bytes saved message.Mathieu Chartier2014-06-171-0/+4
| | | | | | | | | | | Moved the GC top level systrace logging to be inside of Collector::Run. This prevents cases where we forgot to call it such as background compaction. Fixed a unit error regarding total pause time. Fixed negative bytes saved to use the word "expanded". Bug: 15702709 Change-Id: Ic2991ecad2daa000d0aee9d559b8bc77d8c160aa
* Fix dumpsys meminfo <pid>.Mathieu Chartier2013-11-251-1/+3
| | | | | | | | Added a case for BumpPointerSpaces. Confirmed working non-debug. Should also work in debug builds. Bug: 11830794 Change-Id: I12053ff16eec403dcd4a780e13095e3212a77132
* Add histogram for GC pause times.Mathieu Chartier2013-11-211-1/+1
| | | | | | | Printed when you dump the GC performance info. Bug: 10855285 Change-Id: I3bf7f958305f97c52cb31c03bdd6218c321575b9
* Improve histogram and timing logger dumping.Mathieu Chartier2013-11-201-0/+2
| | | | | | | | | | | We now dump the sum (total time) of each histogram as well as previous stats. This is useful for the GC since the same split can occur multiple times per GC iteration. Also did a few memory optimizations by changing the map in the cumulative loggers to be a set. Bug: 11789200 Change-Id: I67bcc5384200924c8dc5d9eebcff077ce72b7e57
* LEB128 tests and performance measurements.Ian Rogers2013-11-141-1/+1
| | | | Change-Id: I1850a2ff9225cfab8f896619c212b1b55f03ae94
* Fix up TODO: c++0x, update cpplint.Mathieu Chartier2013-08-161-1/+1
| | | | | | | | | | | | Needed to update cpplint to handle const auto. Fixed a few cpplint errors that were being missed before. Replaced most of the TODO c++0x with ranged based loops. Loops which do not have a descriptive container name have a concrete type instead of auto. Change-Id: Id7cc0f27030f56057c544e94277300b3f298c9c5
* Fix histogram memory issues.Mathieu Chartier2013-08-011-35/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before we had buckets of 5 micro second size. For a 100 MS GC this used at least 16 * (100 / .005) bytes of storage inside of the histogram data structure. If you consider the 3 different GC types, and each timing logger having its own histogram its easy to see how memory used was significant. We now have an upper bound on the number of buckets (default 100). When we hit the upper bound we simply combine adjacent buckets together. This reduces the total number of buckets by a factor of 2, while increasing the bucket size by a factor of 2. This means that we may lose a slight amount of precision, but the confidence intervals remain nearly as useful. Total unknown memory (occam-svelte): Before: 45648 kB: After: 33304 kB There are probably still some additional optimizations which can be done as disabling histograms altogether reduces the memory used by another ~2mB. A bit of other cleanup in image_space.cc and dlmalloc_space.cc. Bug: 9967927 Change-Id: I87bb6fe4a3e0e790f104abf3cf07f67677cd7ab3
* Fix cpplint whitespace/blank_line issuesBrian Carlstrom2013-07-181-1/+0
| | | | Change-Id: Ice937e95e23dd622c17054551d4ae4cebd0ef8a2
* Fix cpplint runtime/explicit issuesBrian Carlstrom2013-07-171-1/+1
| | | | Change-Id: I352ba0b427f1ff9b22887693952b180eae0839ba
* Fix multiple inclusion guards to match new pathnamesBrian Carlstrom2013-07-171-3/+3
| | | | Change-Id: Id7735be1d75bc315733b1773fba45c1deb8ace43
* Create separate Android.mk for main build targetsBrian Carlstrom2013-07-121-0/+120
The runtime, compiler, dex2oat, and oatdump now are in seperate trees to prevent dependency creep. They can now be individually built without rebuilding the rest of the art projects. dalvikvm and jdwpspy were already this way. Builds in the art directory should behave as before, building everything including tests. Change-Id: Ic6b1151e5ed0f823c3dd301afd2b13eb2d8feb81