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

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java Code Performance Analyzer Tool

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

Features

  • Real-time Code Analysis: Analyze Java code performance with detailed metrics
  • Multiple Input Options:
    • Manual Input
    • Random Input Generation
    • Hardcoded Input Support
  • Performance Metrics:
    • Execution Time Analysis
    • Memory Usage Tracking
    • Time Complexity Analysis
    • Space Complexity Analysis
  • Visualization:
    • Time Performance Graphs
    • Memory Usage Graphs
  • Flexible Unit Display:
    • Time Units (Milliseconds, Seconds, Minutes)
    • Memory Units (Bytes, Kilobytes, Megabytes)
  • Input/Output Data Visualization
  • User Manual Integration

Snapshots

Experience the Java Code Performance Analyzer Tool through these visual previews:

Main Interface

Main Application Interface The main application window showing code input panel and analysis options

Performance Analysis

Performance Analysis Dashboard Real-time performance metrics and graphs during code analysis

Memory Usage Visualization

Memory Usage Tracking Detailed memory usage visualization with adjustable units

Execution Time Visualization

Execution time Tracking Detailed memory usage visualization with adjustable units

Requirements

Installation

  1. Clone the repository: git clone https://github.com/neeraj1240/JavaCodePerformanceAnalyzer.git

  2. Navigate to the project directory: cd JavaCodePerformanceAnalyzer

  3. Compile the project: javac main/ui/CodeAnalyzerUI.java

  4. Run the application: java main.ui.CodeAnalyzerUI

Usage

  1. Input Code:

    • Enter your Java code in the left panel
    • Choose input type (Manual/Random/Hardcoded)
    • Set input parameters if required
  2. Analysis:

    • Click "Analyze" to start the performance analysis
    • Wait for the results to appear in the right panel
  3. View Results:

    • Execution time with adjustable units
    • Memory usage with adjustable units
    • Time complexity analysis
    • Space complexity analysis
    • Performance graphs
    • Input/Output data visualization

Features in Detail

Code Analysis

  • Automated detection of algorithm types
  • Complex pattern recognition for various data structures
  • Multiple runs for accurate performance measurement
  • Warm-up cycles for JVM optimization

Complexity Analysis

  • Detection of common algorithm patterns like:
    • Iterative algorithms
    • Recursive algorithms
    • Divide and conquer
    • Dynamic programming
    • Backtracking

Performance Metrics

  • Average execution time
  • Memory consumption
  • Time complexity notation
  • Space complexity notation

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

For support, please open an issue in the GitHub repository or contact the maintainers.

Future Enhancements

  • Extended algorithm pattern recognition
  • Additional visualization options
  • Support for more complex input patterns
  • Integration with popular IDEs
  • Batch analysis capabilities

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