All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.diirt.graphene.profile.README.txt Maven / Gradle / Ivy

There is a newer version: 3.1.7
Show newest version
-------
-------
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