This repository is used to compare the Python and assembly code performance together. It is a Computer Systems Architecture course project.
This research project aims to compare the performance and implementation complexity of prime number generation algorithms in Python and Assembly programming languages. The study focuses on assessing the execution time, memory usage, and code flexibility associated with prime number generation in both languages within the range of 1 to 99999.
Implement a prime number generation algorithm (e.g., Sieve of Eratosthenes) in both Python and Assembly languages. Measure and compare the execution time and memory usage of the implemented algorithms. Analyze the code flexibility, readability, and adaptability to variations in the prime number generation task for both languages. Present the findings in a comprehensive report to contribute insights into the trade-offs between performance and flexibility in Python and Assembly programming.
1- Algorithm Selection:
Choose a prime number generation algorithm suitable for implementation in both Python and Assembly. 2- Implementation:
Implement the selected algorithm in Python, adhering to best practices and code readability. Write an equivalent implementation in the Assembly language, considering the specifics of the chosen Assembly language. 3- Performance Measurement:
Utilize appropriate timing techniques to measure the execution time of both Python and Assembly implementations. Monitor memory usage during the execution of the algorithms. 4- Code Flexibility Analysis:
Analyze the code flexibility, readability, and adaptability of both implementations. Experiment with modifying the code to handle variations of the prime number generation task and assess ease of adaptation. 5- Documentation and Reporting:
Document the implementations, algorithms used and any relevant considerations. Prepare a comprehensive report summarizing performance metrics, code flexibility analysis, and insights gained. 6- Visualization:
Create visual representations (e.g., graphs, charts) to illustrate the performance differences between Python and Assembly. 7- Conclusion and Implications:
Conclude the research project by summarizing key findings. Discuss implications for programming language choice in computational tasks, considering the trade-offs identified.
Python implementation code. Assembly implementation code (specific to chosen Assembly language). Performance metrics include execution time and memory usage. Comprehensive report detailing methodology, results, and analysis. (only between 2 -5 pages) Visual representations of performance differences. (Comparison Graph) Presentation slides for sharing findings (only 5 slides)