Tutorijal Sortiranje u asembleru

  • Začetnik teme Začetnik teme bmaxa
  • Datum pokretanja Datum pokretanja

bmaxa

Legenda
Poruka
70.808
Merge, radix bitonic C++/C sort iz liba.

Kako se koristi iskompajlira se sa ./k0mpile.sh (po potrebi izmeniti):
Kod:
~/.../examples/sort >>> ./bench                                                                                                                                                                         
radix asm sort 525.664
asm bitonic sort 2290.36
C++ sort 1053.62
VLib sort 1368.99
C qsort 2250.38
C++ list sort 11543.3
VLib list sort 1965.04
all set
Tu ima mojih implementacija sto u asm-u sto u C++. Resimo QSort.h sam koristio u stvarnim projektima.
potom list_sort primer mojih implementacija u asm-u.
Kod:
~/.../examples/sort >>> ./list_sort                                                                                                                                                                     
seed: 1608238920
N: 16777216
unsorted

0x120611670 11047131
0x120611650 13208274
0x120611630 10290010
0x120611610 12706479
0x1206115f0 13029629
0x1206115d0 7343026
0x1206115b0 5732731
0x120611590 5147766
0x120611570 4570998
0x120611550 5721685
0x120611530 3443204
0x120611510 15860646
0x1206114f0 3915497
0x1206114d0 11719127
0x1206114b0 7374728
0x120611490 5961757
array radix elapsed 0.488532 seconds
list radix elapsed 25.056711 seconds
list merge elapsed 11.363343 seconds
equal

equal

sorted

0x10074ac10 0
0x10fef18f0 0
0x1115f4630 1
0x10ade9970 3
0x1159e9ab0 3
0x113f6d110 5
0x1034e5950 5
0x1009d1730 5
0x11de73610 6
0x10719abd0 9
0x10edd0650 9
0x106c3ba50 11
0x1115fa490 11
0x114ac9b10 12
0x1076828d0 14
0x115595350 14
size of node 12, length 16777216

Recimo lepo se vidi koji je sort vise cache friendly taj radi brze.
 

Prilozi

Poslednja izmena:

Back
Top