Abstract:
This thesis delves into the intricate process of translating a Sinc-Zooming application
from the C/C++ programming language to Python. The Sinc-Zooming technique used in
this research is novel as well as it can be used in signal processing and image
manipulation applications to enhance the resolution of the digital content.
The objective of this study is to investigate the challenges and opportunities associated
with porting a complex algorithmic codebase from C/C++ to Python. By examining the
differences between the two languages in terms of syntax, data structures, memory
management, and performance characteristics. This research aims to provide a
comprehensive understanding of the intricacies involved in implementing the Sinc-
Zooming algorithm in each language.
With a focus on functionality, efficiency, and maintainability, this thesis presents a
detailed comparison between the C/C++ and Python implementations. It evaluates the
trade-offs and compromises made during the translation process, considering factors
such as language expressiveness, library support, and development workflow.
v
Furthermore, the implications of the language choice on the overall performance and
usability of the Sinc-Zooming application are thoroughly examined.
To achieve these goals, the research methodology incorporates theoretical analysis,
code profiling, benchmarking, and empirical testing using representative datasets. The
results provide valuable insights into the relative advantages and limitations of each
language for this specific application domain, while also identifying areas for potential
optimization and improvement in both codebases.
The findings of this study have substantial implications for computer engineering
practitioners and researchers involved in code translation and performance optimization
tasks. By contributing to the understanding of the trade-offs between C/C++ and Python
in terms of code translation and execution efficiency, this research serves as a valuable
resource for informing future decisions regarding language selection and optimization
strategies for similar applications.