-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add #g read macro for reading binary encoding float/integer array #139
base: master
Are you sure you want to change the base?
Conversation
+1 |
これはテストあったほうがいい気がします。 |
""の中はバイナリ文字列ということはエディタで見ると"@@@@@@@"みたいになるという事でしょうか? |
ダンプはeuslibにあります、移行する予定ですが書き直したいですね。 テストは以下です。 ""の中はバイナリ文字列ということはエディタで見ると"@@@@@@@"みたいになるという事でしょうか? |
読めたほうがいいです、が高速化のために導入したいという事だと思うので、読める形(asciiに無理やり収める)にした時にパフォーマンスがどこまで落ちてしまうかがキーな気がします。 euslisp/jskeus#271 |
機能的には賛成です 👍 そのうちvectorだけじゃなくて#sで表現してる構造体もこっちで表現したほうが効率がいい、とかになりそうですね。 |
+1 |
ASCIIでうまく表示できるのは32~127なので、パフォーマンスは最悪半分位になってしまうかもしれません。 |
https://ja.wikipedia.org/wiki/Base64 |
Cでやるにしても、そこまで大変じゃなさそうです |
Cで書くなら、松井さんコードをCにするのがいい気がする |
327d4b0
to
1e8e0bf
Compare
base64にしてみました。 |
これってcommon-lispにある表記? 2015年9月18日金曜日、Yohei [email protected]さんは書きました:
◉ Kei Okada |
ここまでくると、 |
|
肝心のパフォーマンスが大きく違うかもしれません。 |
よくわかっていないですが,array-entity して出てきたバイナリをwrite-byte して書き出すのではダメなんだろうか? バイナリ文字列,というのは結局プログラムで書き出すとすると,同じことな気がするんですが, |
@YoheiKakiuchi 先生.7年遅れでようやくこの問題にたどり着きました. |
hrp2/jaxonはVRMLモデルに対してopenhrp-export-colladaとcollada2eusを(特にメッシュ削減に関するオプションはつけずに)作用させてeusモデルを生成しています。 HRP2のVRMLモデルは元のモデルのメッシュをそのまま使っています。元のモデルのメッシュが十分削減されているのか、ロード時間はそこまで気になりません $ roseus ./hrp2jsk.l
$ (bench (hrp2jsk))
;; time -> 0.276349[s]
#<hrp2jsk-robot #X5653bfc33f90 HRP2JSK 0.0 0.0 0.0 / 0.0 0.0 0.0> JAXONやTABLISはのVRMLモデルは、CADのモデルのメッシュを削減したものを使っています。 参考
全身のリンクのメッシュを削減している場合 $roseus ./tablis.l
$ (bench (tablis))
;; time -> 0.596054[s]
#<tablis-robot #X559384801640 TABLIS 0.0 0.0 0.0 / 0.0 0.0 0.0>
$ roseus ./tablis.l
$ (bench (tablis))
;; time -> 1.82508[s]
#<tablis-robot #X5652b119ddf0 TABLIS 0.0 0.0 0.0 / 0.0 0.0 0.0> TABLIS全身のリンクをCADのメッシュをそのまま使った場合 ;;openhrp-export-collada時に128Gのメモリを使い切ってしまってeusモデルを生成できず計測不能
|
モデル作成時ではなくて,ファイルロードの時間が問題になっているのかな,という理解なんだけど,jsk-ros-pkg/jsk_model_tools#244 (comment) の以下のような結果を知りたいです.
|
すみません。誤解していました。以下のようになります。 HRP2の場合
全身のメッシュを削減しているTABLISの場合
BASE_LINKとCHEST_LINK0だけCADのモデルのメッシュをそのまま使ったTABLISの場合
|
@Naoki-Hiraoka このときのファイルサイズはどれぐらいなんだろう... |
追記しました。 |
はい、そのままのバイナリダンプは、バグの可能性があると思います。
ないです。
ないように思います。
#g の件が jaxonかjaxon_redの読み込みが遅いための解決策だったと思うのですが、 |
バイナリエンコードされたfloat/integer-vector/matrixのリーダーを追加しました。
形式は以下です。
#g( array-dimensions element-type バイナリ文字列 ) の書式です。
#g((4 4) :float "xxx")