Skip to content

A Java desktop application for analyzing code performance metrics, including execution time, memory usage, space/time complexity, and visual graphs. Built with JavaFX, ideal for developers to optimize code performance.

Notifications You must be signed in to change notification settings

neeraj1240/JavaCodePerformanceAnalyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java Code Performance Analyzer Tool

A sophisticated desktop application that analyzes Java code performance metrics, including execution time and Memory usage. Features automated test data generation with customizable input sizes up to 100,000 elements, eliminating the need for manual test data creation.

Table of Contents

Overview

The Java Code Performance Analyzer Tool uses Java and JavaFX to evaluate code efficiency. It generates performance graphs from various input types and displays key metrics such as execution time and memory usage.

Main User Interface

The main UI features:

  • Code Input Panel: Paste or write code to be analyzed.
  • Input Options: Select input type and adjust parameters.
  • Results Panel: View performance metrics including execution time, memory usage, time and space complexity.
  • Graph Buttons: Launch dedicated graph windows for further analysis.

Main UI

Input Types

The tool provides several input methods:

Input Types

Single Input

Provide a single dataset to test your program quickly.

Range Input

Specify a range with:

  • Minimum Input Size
  • Maximum Input Size
  • Step Size

Manual Input

Enter custom test cases directly.

Random Input

Generate random test data automatically based on your configuration.

Hardcoded Input

Uses predefined test data embedded in the code for consistent benchmarking.

Graphs and Visualizations

Visualizations help you interpret performance trends:

Execution Time Graph

Displays the program's execution time across different input sizes.

Execution Time Graph

Memory Usage Graph

Visualizes the memory usage trend.

Memory Usage Graph

Combined Execution Time & Memory Usage Results

A summary view of execution time and memory usage.

Combined Results

Data Display

Input Data

View the test data used for analysis in a dedicated window.

Input Data

Output Data

Review your program's output after analysis.

Output Data

User Manual

Detailed usage instructions and guidelines can be found in the integrated user manual. The manual explains:

  • Expected input format
  • Main method requirements
  • Performance analysis techniques
  • Best practices for accurate results

User Manual

Installation

  1. Clone the Repository:

    git clone https://github.com/neeraj1240/JavaCodePerformanceAnalyzer.git
  2. Navigate to the Project Directory:

    cd JavaCodePerformanceAnalyzer
  3. Build the Project:

    If using Maven (as indicated by the pom.xml file), run:

    mvn clean install
  4. Run the Application:

    If you are using the command line:

    java -cp target/your-artifact.jar main.ui.CodeAnalyzerUI

    Alternatively, you can run the application from within your IDE (e.g., Visual Studio Code).

Usage

  1. Enter Code:

    • Use the left panel to type or paste your Java code.
  2. Select Input Type:

    • Choose from Single, Range, Manual, Random, or Hardcoded inputs.
  3. Start Analysis:

    • Click "Analyze" to run the performance metrics.
  4. View Graphs and Results:

    • Use "Show Time Graph" and "Show Memory Graph" buttons to view detailed visualizations.
    • Review the numeric results displayed alongside the graphs.
  5. Use the User Manual:

    • Access the user manual directly from the UI for further guidance.

About

A Java desktop application for analyzing code performance metrics, including execution time, memory usage, space/time complexity, and visual graphs. Built with JavaFX, ideal for developers to optimize code performance.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published