Search engine for discovering works of Art, research articles, and books related to Art and Culture
ShareThis
Javascript must be enabled to continue!

Performance Comparison of three Sorting Algorithms Using Shared Data and Concurrency Mechanisms in Java

View through CrossRef
Sorting large data sets or database is a problem commonly found in Computer Science and to find a solution to this problem, several quicksorting algorithms were developed while some need to be improved upon to make them more efficient. Sorting algorithms can be developed using both shared and non-shared data based on programmers’ choices. This paper aimed to develop three distinct sorting algorithms that involved shared data using three concurrency mechanisms in Java to measure their running times and to compare their performances. The main method used is the practical measurement of running times using benchmarking carried out on a machine with eight (8) processing cores. System current Time Millis () was used to measure time during the experiment. The results show that SD-Parallel quick sort implementation using Atomicity outperforms the other two algorithms. It was also shown that creating more threads leads to overhead when algorithms are developed using shared data. It was concluded that the running times of algorithms that involved shared data increase with the increase in the array size when proper synchronization is performed It was further revealed that SD-Parallel quick sort implemented using Acyclic-Barrier emerged as the second-best algorithm. Other concurrency mechanisms namely: Phaser, and Double-Atomicity provided by other Java JDK versions have the capacity of building more efficient framework that can be used to improve the performance of these algorithms due to their dynamic functionality. These and other concurrency mechanism provided by Java deserves further investigation as they are also capable of building more efficient algorithm.
Title: Performance Comparison of three Sorting Algorithms Using Shared Data and Concurrency Mechanisms in Java
Description:
Sorting large data sets or database is a problem commonly found in Computer Science and to find a solution to this problem, several quicksorting algorithms were developed while some need to be improved upon to make them more efficient.
Sorting algorithms can be developed using both shared and non-shared data based on programmers’ choices.
This paper aimed to develop three distinct sorting algorithms that involved shared data using three concurrency mechanisms in Java to measure their running times and to compare their performances.
The main method used is the practical measurement of running times using benchmarking carried out on a machine with eight (8) processing cores.
System current Time Millis () was used to measure time during the experiment.
The results show that SD-Parallel quick sort implementation using Atomicity outperforms the other two algorithms.
It was also shown that creating more threads leads to overhead when algorithms are developed using shared data.
It was concluded that the running times of algorithms that involved shared data increase with the increase in the array size when proper synchronization is performed It was further revealed that SD-Parallel quick sort implemented using Acyclic-Barrier emerged as the second-best algorithm.
Other concurrency mechanisms namely: Phaser, and Double-Atomicity provided by other Java JDK versions have the capacity of building more efficient framework that can be used to improve the performance of these algorithms due to their dynamic functionality.
These and other concurrency mechanism provided by Java deserves further investigation as they are also capable of building more efficient algorithm.

Related Results

DOMASCOS (DOMAin Specific COncurrency Skeletons)
DOMASCOS (DOMAin Specific COncurrency Skeletons)
Existing approaches to concurrent programming, albeit essential, are easily used incorrectly. Testing is difficult due to the inherent non-determinism introduced by concurrency, es...
Not that Concurrent!
Not that Concurrent!
Concurrency is, in the literature, often used as a noun with a range of strengths: there is more or less concurrency; it is more or less limited; it may even be seen described as c...
MARS-seq2.0: an experimental and analytical pipeline for indexed sorting combined with single-cell RNA sequencing v1
MARS-seq2.0: an experimental and analytical pipeline for indexed sorting combined with single-cell RNA sequencing v1
Human tissues comprise trillions of cells that populate a complex space of molecular phenotypes and functions and that vary in abundance by 4–9 orders of magnitude. Relying solely ...
Neural Networks for Quality Sorting of Agricultural Produce
Neural Networks for Quality Sorting of Agricultural Produce
The objectives of this project were to develop procedures and models, based on neural networks, for quality sorting of agricultural produce. Two research teams, one in Purdue Unive...
Adaptive Sorting of Fresh Produce
Adaptive Sorting of Fresh Produce
This project includes two main parts: Development of a “Selective Wavelength Imaging Sensor” and an “Adaptive Classifiery System” for adaptive imaging and sorting of agricultural p...
Justification of the geometric dimensions of drum sorting machine
Justification of the geometric dimensions of drum sorting machine
Abstract This article presents the results of research to determine the basic geometric dimensions of a drum sorting machine designed for potato sorting. A critical ...
Large-Scale Data Sorting Using Independent Equal-Length Subarrays
Large-Scale Data Sorting Using Independent Equal-Length Subarrays
Abstract Design an efficient data sorting algorithm that requires less time and space complexity is essential for large data sets in wireless networks, the Internet of thin...
An interesting discussion of running time for some sorting techniques without comparison sort
An interesting discussion of running time for some sorting techniques without comparison sort
Sorting is one of important techniques for computer science as well as other technology areas; sorting is used mostly in searching, database management systems, scheduling, and com...

Back to Top