
org.diirt.graphene.profile.README.txt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of graphene-profile Show documentation
Show all versions of graphene-profile Show documentation
Tools to profile the graph library.
-------
-------
READ ME
-------
-------
@author: asbarber
@date: February 26, 2014
@purpose: Document the profile package
@path: orgs.epics.graphene.profile
The profile test package is intended to perform time based
analysis of graph renderers to ensure real-time capability.
The desired render speeds are:
Time Range : Analysis
< 20ms : perfect capability
< 100ms : satisfactory capability
< 200ms : minimum capability
> 200ms : not real-time capable
-------------
Usage Summary
-------------
To profile a graph renderer, create a new class that extends
ProfileGraph2D. This will set the renderer up with the ability
to be profiled, and perform useful results to save and graph
results.
A ProfileGraph2D has profile settings:
Image Width
Image Height
Dataset Size
To test a renderer at various settings quickly, use a
MultiLevelProfiler, which tests combinations of image
resolutions and dataset sizes.
To perform individual and specialized tests, use TestCaseProfiler,
which contains functions to test specific cases.
To view a graphical-user-interface to perform profile operations,
use VisualProfiler.
To analyze profile results/output, use ProfileAnalysis.
--------------
Output Summary
--------------
Output files are saved to graphene/ProfileResults.
There are two types of output files:
1. A "1D" Table is a list of single profile results
generated from a ProfileGraph2D derived class.
Example: ScatterGraph2D.csv
2. A "2D" Table is a table of timing results paired with
a resolution and with a dataset size. This type of result
is generated by a MultiLevelProfiler. A ".out.csv" file
is generated to give details and messages about the
profile.
Example: 201401010000-Histogram1D-Table.csv
201401010000-Histogram1D-Table.out.csv
--------
WARNINGS
--------
1. When profiling, computer hardware specs (such as processor speed)
have a significant impact on the speed of rendering. Be aware
of this when drawing conclusions.
2. When profiling, ensure to close all other applications
(such as a web browser) and shut down high performance processes
(such as internet connection).
3. When profiling renderers using Cell2D datasets, be aware
of memory limitations allocated to the JVM.
Large Cell2D datasets (such as 10000x10000) will quickly
fill the available memory.
The memory available to the JVM can be increased. This affects
how often garbage collecting occurs, so this change should
ONLY BE TEMPORARY. Do not forget to remove the command upon
finishing testing for the Cell2D dataset renderer.
Note it is unwise to increase the available memory when
testing multiple renderers
(such as IntensityGraph2D, which needs more memory, and
LineGraph2D, which will not need more memory)
To increase the available memory, follow these instructions:
Where: Graphene > Properties > Actions > Run via main
Modify To: exec.args = -Xmx4g -classpath ...
Command: -Xmx
Specifies the maximum memory available
to the JVM (memory that can be used to
generate large datasets).
4g specifies 4GB of memory.
© 2015 - 2025 Weber Informatics LLC | Privacy Policy