Aimed at demonstrating the application of concurrency in performing image color transformations. By implementing this project in Java, C++, Go, and Python, it showcases the unique concurrency models of each language and their effectiveness in processing large image files.
The project not only provides insights into parallel computing across different programming environments but also offers a practical tool for image processing tasks.
- Support for basic color transformation.
- Concurrent processing of image segments to speed up transformations.
- Performance metrics to compare concurrent vs serial processing times across languages.
- Multi-language support to highlight different approaches to concurrency.
- Java: Utilization of ForkJoinPool for parallel processing of image segments.
- C++: Employment of std::thread and std::async for concurrent image processing tasks.
- Go: Implementation with goroutines and channels for efficient parallel processing.
- Python: Use of concurrent.futures and multiprocessing for threading and process-based parallelism.
- Clone the Repository:
git clone https://github.com/siddhant-vij/Concurrent-Image-Color-Changer.git
- Navigate to Language Directory:
cd Concurrent-Image-Color-Changer/[language]
- Install Dependencies: Standard instructions to be followed for each language, if any external dependency.
- Build and Run the Application: Standard instructions to be followed for each language.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch:
git checkout -b feature/AmazingFeature
- Commit your Changes:
git commit -m 'Add some AmazingFeature'
- Push to the Branch:
git push origin feature/AmazingFeature
- Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.