3D表示部分で一番時間のかかるクイックソートの部分をC言語で機械語にしてみた
#module ;クイックソート #deffunc qsort array qsort_index,array qsort_sort,int qsort_right,int qsort_left xdim QsortCode, 145 QsortCode.0 = $81ec8b55, $000380ec, $57565300, $fc80bd8d, $e0b9ffff, $b8000000 QsortCode.6 = $cccccccc, $45c7abf3, $000000fc, $fc458b00, $89104d8b, $fe6c858c QsortCode.12 = $558bffff, $14458bfc, $dc958489, $8bfffffc, $c183fc4d, $fc4d8901 QsortCode.18 = $8bfc558b, $e883fc45, $fc458901, $8e0fd285, $000001de, $8bfc4d8b QsortCode.24 = $fe6c8d94, $5589ffff, $10458b10, $fccc8589, $4d8bffff, $8d948bfc QsortCode.30 = $fffffcdc, $8b145589, $85891445, $fffffcc8, $0310458b, $2b991445 QsortCode.36 = $8bf8d1c2, $148b0c4d, $c09589c1, $8bfffffc, $8904c144, $fffcc485 QsortCode.42 = $cc8d8bff, $8bfffffc, $04dd0c55, $c09ddcca, $dffffffc, $41c4f6e0 QsortCode.48 = $858b1175, $fffffccc, $8901c083, $fffccc85, $8bd6ebff, $fffcc88d QsortCode.54 = $0c558bff, $dcca04dd, $fffcc09d, $f6e0dfff, $117401c4, $fcc8858b QsortCode.60 = $e883ffff, $c8858901, $ebfffffc, $cc8d8bd6, $3bfffffc, $fffcc88d QsortCode.66 = $b28f0fff, $8b000000, $fffccc95, $0c458bff, $89d00c8b, $fffcd48d QsortCode.72 = $d0548bff, $d8958904, $8bfffffc, $fffcc885, $0c4d8bff, $fccc958b QsortCode.78 = $758bffff, $c13c8b0c, $8bd63c89, $8904c144, $8b04d644, $fffcc88d QsortCode.84 = $0c558bff, $fcd4858b, $0489ffff, $d8858bca, $89fffffc, $8b04ca44 QsortCode.90 = $fffccc8d, $08558bff, $898a048b, $fffcd085, $cc8d8bff, $8bfffffc QsortCode.96 = $858b0855, $fffffcc8, $8b08758b, $04898604, $c88d8b8a, $8bfffffc QsortCode.102 = $858b0855, $fffffcd0, $8b8a0489, $fffccc8d, $01c183ff, $fccc8d89 QsortCode.108 = $958bffff, $fffffcc8, $8901ea83, $fffcc895, $cc858bff, $3bfffffc QsortCode.114 = $fffcc885, $d68e0fff, $8bfffffe, $8d3b104d, $fffffcc8, $558b267d QsortCode.120 = $10458bfc, $6c958489, $8bfffffe, $958bfc4d, $fffffcc8, $dc8d9489 QsortCode.126 = $8bfffffc, $c083fc45, $fc458901, $fccc8d8b, $4d3bffff, $8b267d14 QsortCode.132 = $858bfc55, $fffffccc, $6c958489, $8bfffffe, $558bfc4d, $8d948914 QsortCode.138 = $fffffcdc, $83fc458b, $458901c0, $fe0ee9fc, $5e5fffff, $5de58b5b QsortCode.144 = $000000c3 prm = varptr(qsort_index),varptr(qsort_sort),qsort_right,qsort_left val = callfunc(prm,varptr(QsortCode),4) return #global
1600ポリゴンで20msしか早くならなかった。
再帰するクイックソートを機械語でHSPで使用すると変な値になる。
なんでだろう。
と、とりあえず、機械語をHSPで使えるようになったから嬉しい!
他にもいろいろ出来たらいいなあ。
マップメーカーは、3D表示プレビューを作ったら大体完成します。
あと、暗号化もつけたいなー
コメント