Parallel Quicksort 1.0 is here.

Parallel Quicksort 1.0 is here.

Hello,

Parallel Quicksort 1.0 is
here.

Description:

Parallel Quicksort that uses my threadpool
engine.

Parallel Quicksort gave me 3x scaling when sorting strings on a
quad cores,
it scales better than the parallel quicksort in the parallelsort
library..

Please use Lazarus-1.1-38262-fpc-2.6.1 from
http://mirrors.iwi.me/lazarus/snapshots
/ cause it scales better on this
version.

Language: FPC Pascal
v2.2.0+ / Delphi 7+: http://www.freepascal.org/

or
Lazarus 32 bits or 64 bits from:

http://mirrors.iwi.me/lazarus/snapshots/

Operating
Systems: Win , Linux and Mac (x86).

You can download
parallelquicksort from:

http://pages.videotron.com/aminer/

Thank
you,
Amine Moulay Ramdane.

5 Beiträge / 0 neu
Letzter Beitrag
Nähere Informationen zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.

Hello,

It is easy to use parallel quicksort , you can sort strings , integers 
, reals, doubles etc
you can sort even sort then when they are inside
objects.

Here is an example that i gave you inside the zip file, i am
sorting strings that are inside objects:

:
---
program test;
uses parallelquicksort,sysutils,timer;

type
TStudent = Class
public
Name: string;
end;

var
tab:Ttabpointer;
myobj:TParallelSort;
student:TStudent;
i:integer;
 
function comp(Item1, Item2: Pointer): integer;

begin

if TStudent(Item1).name < TStudent(Item2).name
then
 begin
 
result:=-1;
  exit;
 end;
if TStudent(Item1).name > TStudent(Item2).name
then
 begin
 
result:=1;
  exit;
 end;
if TStudent(Item1).name = TStudent(Item2).name
then
 begin 
 
result:=0;
 exit;
 end;

end;

begin

myobj:=TParallelSort.create(4); // set to the number of cores...
setlength(tab,100000);
for i:=low(tab) to high(tab)
do
 begin
 
student:=TStudent.create;
  student.name:= inttostr(i);
 
tab[high(tab)-i]:= student;
 end;

HPT.Timestart;
myobj.pqsort(tab,comp);
writeln;
writeln('Time in microseconds:
',hpt.TimePeriod);

writeln;
writeln('Please press a key to continu...');
readln;
for i := LOW(tab) to HIGH(Tab)

do
begin
 writeln(TStudent(tab[i]).name,' ');
end;

for i := 0 to HIGH(Tab) do
freeandnil(TStudent(tab[i]));

setlength(tab,0);
myobj.free;
 
end.
---

Thank you,
Amine Moulay Ramdane.

I wrote:
>It is easy to use parallel quicksort , you can sort strings , >integers  , reals, doubles etc>you can sort even sort then when they are inside objects. 
Sorry for the typo, i mean you can even sort them when they are inside objects.   Thank you,
Amine Moulay Ramdane.

Will there be a C/C++ version?

>>Will there be a C/C++ version?

Aminer10, could you follow up, please?

You're doing programming with Pascal and many of users on Intel forums are using C/C++ and Fortran.

Kommentar hinterlassen

Bitte anmelden, um einen Kommentar hinzuzufügen. Sie sind noch nicht Mitglied? Jetzt teilnehmen