私の質問はタイトルです。なぜmex-functionに比べてstr2doubleがmatlabで遅いのですか?
なぜC/C++で行われたMEX関数と比較して、MATLABで関数str2doubleそう遅いですか? matlabには文字列処理機能がありませんか?
mexの機能が何倍も速く動作するのか、誰にもわからないことがありますか?私はこの違いの実行時分析を行うことを望んでいたが、私はmatlabのコードから具体的な理由はありません。
あなたは私がファイルを開いて、実際に組み込みのmatlab str2double関数用に書かれたコードをどのように見てくれますか?
トピックに関するいくつかの投稿:
http://www.mathworks.com/matlabcentral/fileexchange/28893-fast-string-to-double-conversion
私は彼らがこの機能をより迅速に実行する方法を説明しようとするとポスターが何を意味するのか理解していません。これはどういう意味ですか?(str2doubleqはC++で作られたmex関数です)
"str2doubleはmex-gatewayを使ってC++の高速文字列処理機能とstd :: stringstreamプロパティを利用しています。 boost :: lexical_castで使用されています "
誰もこれに答えることはできません?
しかし、コンパイル時にすべてがゆっくりと実行されるのではなく、データセットのサイズです。あなたの最初の説明は適切だと思われましたが、機能が失われるのはプログラムが複素数を解釈できないということだけです。一方、いくつかの機能が追加されているので、これらの2つは相殺されます。おそらくそれはmatlabが文字列をベクトルとして格納するためです。これは非効率的な方法です。 – NONE