Need help with memory-measurer?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

DimitrisAndreou
230 Stars 71 Forks Apache License 2.0 21 Commits 10 Opened issues

Description

Automatically exported from code.google.com/p/memory-measurer

Services available

!
?

Need anything else?

Contributors list

# 487,840
Java
2 commits

ObjectExplorer, by Dimitris Andreou ([email protected])

= Introduction =

==[http://memory-measurer.googlecode.com/svn/trunk/dist/javadoc/index.html Javadocs]==

A small tool that is very handy when e.g. you design data structures and want to see how much memory each one uses. To do this, it uses a simple reflection-based object-traversing framework ([http://memory-measurer.googlecode.com/svn/trunk/dist/javadoc/objectexplorer/ObjectExplorer.html ObjectExplorer]). On it, it builds two facilities:

  • [http://memory-measurer.googlecode.com/svn/trunk/dist/javadoc/objectexplorer/MemoryMeasurer.html MemoryMeasurer], which can estimate the memory footprint of an object graph in bytes. This requires installing a javaagent when running the JVM, e.g. by passing {{{-javaagent:path/to/object-explorer.jar}}}.

  • [http://memory-measurer.googlecode.com/svn/trunk/dist/javadoc/objectexplorer/ObjectGraphMeasurer.html ObjectGraphMeasurer] does not need a javaagent, and can also give a much more qualitative measurement than !MemoryMeasurer - it counts the number of objects, references, and primitives (of each kind) that an object graph entails.

Also of interest is the synergy with this project (of yours truly) : [http://code.google.com/p/jbenchy/ JBenchy]

Put together, they allow you to easily and systematically run and analyze benchmarks regarding data structures.

== How to use ==

An extremely simple example:

{{{ long memory = MemoryMeasurer.measureBytes(new HashMap()); }}}

or

{{{ Footprint footprint = ObjectGraphMeasurer.measure(new HashMap()); }}}

Quick tip: To use the MemoryMeasurer (to measure the footprint of an object graph in bytes), this parameter needs to be passed to th VM: -javaagent:path/to/object-explorer.jar

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.