| aminer68@gmail.com: Nov 09 04:02PM -0800 Hello, My Parallel Sort Library that is more efficient version 4.03 is here.. Notice also in the source code that my Mergesort uses also insertion sort like in a Timesort manner, so it is very very efficient. You can download it from: https://sites.google.com/site/scalable68/parallel-sort-library-that-is-more-efficient I have come with a "powerful" Parallel Sort library that is very efficient, and it comes with the source code, please read about it below: Author: Amine Moulay Ramdane Description: Parallel Sort Library that supports Parallel Quicksort, Parallel HeapSort and Parallel MergeSort on Multicores systems. Parallel Sort Library uses my Thread Pool Engine and sort many array parts - of your array - in parallel using Quicksort or HeapSort or MergeSort and after that it finally merge them - with the merge() procedure - In the previous parallelsort version i have parallelized only the sort part, but in this new parallelsort version i have parallelized also the merge procedure part and it gives better performance. My new parallel sort algorithm has become more cache-aware, and i have done some benchmarks with my new parallel algorithm and it has given up to 5X scalability on a Quadcore when sorting strings, other than that i have cleaned more the code and i think my parallel Sort library has become a more professional and industrial parallel Sort library , you can be confident cause i have tested it thoroughly and no bugs have showed , so i hope you will be happy with my new Parallel Sort library. I have also included a "test.pas" example, just compile first the "gendata.pas" inside the zip file and run it first, after that compile the "test.pas" example and run it and do your benchmarks. I have implemented a Parallel hybrid divide-and-conquer merge algorithm that performs 0.9-5.8 times better than sequential merge, on a quad-core processor, with larger arrays outperforming by over 5 times. Parallel processing combined with a hybrid algorithm approach provides a powerful high performance result. My algorithm of finding the median of Parallel merge of my Parallel Sort Library that you will find here in my website: https://sites.google.com/site/scalable68/parallel-sort-library Is O(log(min(|A|,|B|))), where |A| is the size of A, since the binary search is performed within the smaller array and is O(lgN). But this new algorithm of finding the median of parallel merge of my Parallel Sort Library is O(log(|A|+|B|)), which is slightly worse. With further optimizations the order was reduced to O(log(2*min(|A|,|B|))), which is better, but is 2X more work, since both arrays may have to be searched. All algorithms are logarithmic. Two binary searches were necessary to find an even split that produced two equal or nearly equal halves. Luckily, this part of the merge algorithm is not performance critical. So, more effort can be spent looking for a better split. This new algorithm in the parallel merge balances the recursive binary tree of the divide-and-conquer and improve the worst-case performance of parallel merge sort. Why are we finding the median in the parallel algorithm ? Here is my previous idea of finding the median that is O(log(min(|A|,|B|))) to understand better: Let's assume we want to merge sorted arrays X and Y. Select X[m] median element in X. Elements in X[ .. m-1] are less than or equal to X[m]. Using binary search find index k of the first element in Y greater than X[m]. Thus Y[ .. k-1] are less than or equal to X[m] as well. Elements in X[m+1..] are greater than or equal to X[m] and Y[k .. ] are greater. So merge(X, Y) can be defined as concat(merge(X[ .. m-1], Y[ .. k-1]), X[m], merge(X[m+1.. ], Y[k .. ])) now we can recursively in parallel do merge(X[ .. m-1], Y[ .. k-1]) and merge(X[m+1 .. ], Y[k .. ]) and then concat results. Thank you, Amine Moulay Ramdane. |
| Bonita Montero <Bonita.Montero@gmail.com>: Nov 10 06:00AM +0100 There is stable_sort with std::execution::par which you can't beat of coutse. Not only in terms of execution-speed but also in terms of code-quality. |
| aminer68@gmail.com: Nov 09 01:15PM -0800 Hello, I was just listening at the following beautiful song that i will share with you: Eddy Grant - I Don't Wanna Dance https://www.youtube.com/watch?v=ZFT5ZVUsPIw And i will share with you those two beautiful poems of mine: Here is my first poem: ----- Here is my explanation of my below poem.. My poem is like "mathematical", because i am starting it by constraining it by saying the following in my poem: "We are coming from everywhere Like going up and up by stairs !" Since going up and up is systemic, it means even if we have many variables in the system, the variable of "perfection" is also a King, since going up and up in perfection dictates, so my poem is like political "philosophy", since also i am constraining it more in the following of my verses, and you have to be smart to understand the philosophy of my poem below, because it makes you feel more what is "morality", because with my poem below i am like constructing a more realistic and pragmatic abstraction of what is morality, so read it again: Here is my new poem: "We are coming from everywhere" I was just listening to the following beautiful song of JJ Cale called "Soulin", here it is: https://www.youtube.com/watch?v=X50PHVMZyrA So i have just decided to write fast a poem, here it is: We are coming from everywhere Like going up and up by stairs ! We are coming from everywhere Since it is the affair of the not despair We are coming from everywhere Since we are all like a billionaire We are coming from everywhere Since we are not the game of Solitaire We are coming from everywhere Since we have to be the right medicare ! We are coming from everywhere Like looking at this beautiful earth's atmosphere We are coming from everywhere Like being a beautiful atmosphere We are coming from everywhere It is how we have to beautifully adhere We are coming from everywhere Since it is like going up and up by stairs ! ----- Here is my second poem: ---- Here Comes The Sun my lovely friend ! Since our love wants to beautifully ascend Here Comes The Sun my lovely friend ! Since our love is no pretension since it beautifully defend Here Comes The Sun my lovely friend ! Since we are not evil dissidents but a beautiful comprehend ! Here Comes The Sun my lovely friend ! So with what do you want me to contend ? Here Comes The Sun my lovely friend ! Since my soul is thus a so beautiful that all the earth is my land ! Here Comes The Sun my lovely friend ! Since our love is a beautiful scent ! Here Comes The Sun my lovely friend ! So do i really come from the West or from Saudi Arabia or from the Orient ? Here Comes The Sun my lovely friend ! Since my beautiful soul is like from God a beautiful descent ! Here Comes The Sun my lovely friend ! Since it will never be our love's end ! Thank you, Amine Moulay Ramdane. |
| aminer68@gmail.com: Nov 09 12:49PM -0800 Hello, High "complexity" of the software code is directly translated to low readability and high maintenance costs, so read about McCabe's Cyclomatic Complexity and Why We Don't Use It: https://www.cqse.eu/en/blog/mccabe-cyclomatic-complexity/ Thank you, Amine Moulay Ramdane. |
| You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page. To unsubscribe from this group and stop receiving emails from it send an email to comp.programming.threads+unsubscribe@googlegroups.com. |
No comments:
Post a Comment