HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2021
0925
area39sortnoteのスピードが速い仕組みについて2解決


area39

リンク

2021/9/25(Sat) 08:22:21|NO.93962

データ数650程度のメモリノートパッドをソートしたく、
自作でsortnoteと同じようなモノを、noteget,noteaddなどを使って作ってみたのですが
自作では30秒近くかかりました、
しかし、sortnoteを使うとわずか、2秒程度で処理が終わっていました。
sortnoteは素晴らしいと思い、どうなっているのか調べてみたのですが、ASCIIコードで
ソートしていることまではわかったのですが、なぜそんなに早いのか理解出来ませんでした

やはり、ネイティブで書かれているので、早いとか、HSP純正のnote系の命令は遅いとか
理由があるのでしょうか?

ご存じの方いらっしゃいましたらお教え下さい
よろしくお願いいたします。



この記事に返信する


とあるプログラマ

リンク

2021/9/25(Sat) 11:56:19|NO.93963

openHSPでsortnoteの実装を見ると、std::sort()で実装されていました。

@1279行目
http://dev.onionsoft.net/trac/openhsp/browser/trunk/hsp3/hsp3int.cpp


このstd::sort()はVC++だと、クイックソート・ヒープソート・挿入ソートの複合型で、それにより高速度でのソートを実現しているようです。

https://stackoverflow.com/questions/22885065/what-sorting-algorithm-does-visual-c-use-in-stdsort


なので、HSP上とネイティブでの実行速度の差もあり得ると思いますが、それ以上にstd::sort()が高速であるためにこの差が生まれているのだと思います。



area39

リンク

2021/9/25(Sat) 20:04:05|NO.93968

調べて下さり、ありがとうございました。



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.93962への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

ONION software Copyright 1997-2021(c) All rights reserved.