我的問題是標題。與mex函數相比,爲什麼matlab中的str2double非常慢?
爲什麼str2double在matlab中比在C/C++中製作的mex函數慢得多? matlab是否沒有良好的字符串處理能力?
誰能給我一些事實理由,爲什麼一個MEX函數運行幅度的這麼多訂單更快?我希望對這種差異做一個運行時間分析,但是我沒有任何matlab代碼的具體原因。
你能向我解釋,我怎麼會開到文件,實際上看的內置MATLAB str2double功能編寫的代碼?
的話題有些貼子:
http://www.mathworks.com/matlabcentral/fileexchange/28893-fast-string-to-double-conversion
我不明白的海報意味着什麼,當他們試圖解釋這功能更快速地運行。例如,這意味着什麼:(str2doubleq是C++中的mex函數)
「str2doubleq利用mex-gateway使用C++快速字符串處理功能和std :: stringstream屬性。在升壓:: lexical_cast的」
沒有人能回答這個用的?
但是,編譯時間並不會導致它運行緩慢,而是數據集的大小。你的第一個解釋似乎是相關的,但唯一失去的功能是程序不能解釋複數。另一方面,它有一些附加的功能,所以這兩個將取消。也許這是因爲matlab將字符串存儲爲向量,這是一種效率低下的方法嗎? – NONE