This paper contains an analysis of sequential
processing, multithreading, and multiprocessing of a
simple application based on Python programming
language. Due to the availability of powerful hardware,
parallelism and concurrency have become an efficient
and powerful solution when considering software
performance. Execution times are a significant factor to
look at when designing and implementing software. In
this paper, we analyze the software performance
regarding sequential processing, concurrency and
parallelism and its impact on execution times when using
network port scanning. The analysis is based on three
separate implementations of the same function and its
performance on the same network subnet, same
hardware, and operating system. We will show that
multithreading and multiprocessing have a significant
performance impact on software analyzed when using
repetitive executions and that we are able to improve the
performance of our application. The results obtained will
provide insights into the parallel capabilities of Python
programming language, and it will show the differences
between multithreading and multiprocessing techniques.
We will explore both models for parallel computing. The
purpose of this paper is to explore the implementation of
multithreading and multiprocessing in Python
programming language and its potential limitations and
implementation suggestions
Keywords : Concurrency, Multiprocessing, Multithreading, Parallelism, Sequential Processing