Breaking Boundaries

Python faces challenges in fully exploiting the growing capabilities of modern hardware. As hardware continues to advance with more CPU cores, faster processors, and abundant memory, Python’s inherent design and execution model can often fall short in taking full advantage of these resources. Its single-threaded nature and certain architectural choices can result in suboptimal performance in scenarios where parallelism and hardware acceleration are vital. This limitation prompts developers to seek alternative solutions, such as integrating Python with external libraries, languages, or technologies, to overcome these hardware-related constraints....

December 17, 2023 · 18 min · 3771 words · Aryaman Gupta

Asynchronous Programming in Python

Sync vs Async What is synchronous programming? Synchronous programming is a programming paradigm in which operations are executed sequentially, one after the other. In this model, each operation waits for the previous one to complete before moving on to the next step. This sequential execution can lead to ‘blocking’ operations, where certain tasks may take a significant amount of time to finish. These blocking operations can pause the entire program’s execution, forcing it to wait until the time-consuming task is done before it can proceed....

September 21, 2023 · 8 min · 1603 words · Aryaman Gupta

Decorators in Python

What on earth are decorators??? Decorators are essentially single reusable functions that take a “function” as input and return a modified version of it. Decorators are just a bit different from regular functions because they wrap the “input function” to extend its functionality without modifying it. What does wrapping mean? 1 2 3 4 5 6 import time start_time = time.time() **call your function** #calling your function end_time = time.time() print("Time Taken = ", end_time-start_time) Here you can see that your function call is being “wrapped” between lines of code....

May 31, 2023 · 6 min · 1096 words · Aryaman Gupta