LabVIEWでU32をU8に4倍高速に変換する

結論は、下記ページの「結果のまとめ」に各関数の実行速度を状況別にまとめてあります。

【まとめ】LabVIEWでU32をU8に4倍高速に変換する (2)


ドルフィンシステム福島です。

LabVIEWで無線信号処理などを行うときに、U32数値やI32をU8に変換することがも良くあると思います。


この場合に使用するLabVIEW関数は、

型変換(type cast)

を使用すると簡単に変換ができます。


double→U8変換→double



U32→U8変換

型変換関数は、どの型でも(doubleでもcomplexでも)簡単に指定した型に変換することが出来るので、便利です。とりあえず繋いでしまえば変換されるので安心です。

型変換関数のデメリットと代替策

しかしながら型変換関数は、変換に時間がかかるというデメリットがあります。

型変換関数の代わりに数値分割関数を使用しても変換は可能です。U32をU8に変換する場合、下図のように数値分割関数を使用してU8に分割することが出来ます。


ベンチマークして型変換と数値分割関数を比較

下図のように、型変換と数値分割関数がどの位パフォーマンスに差が出るのか比較しました。


100k回実行してみたところ、数値分割関数の方が4倍高速に動作しました。

変換する型に合わせて、数値分割関数で変換した方が高速です。


以上、ドルフィンシステム福島でした。


コメント