以下是長字符串很慢:KDB C++接口:創建STD字節列表:: string的
std::string s = "long string";
K klist = DBVec::CreateList(KG , s.length());
for (int i=0; i<s.length(); i++)
{
kG(klist)[i]=s.c_str()[i];
}
它可以足夠快(< 100毫秒)字符串可達100K,只是速度放緩到爬行(幾十分鐘,可能幾小時)的幾百萬字符的字符串。除了kG
之外,我沒有看到可以產生非線性的東西。我沒有看到訪問函數kG
是非常量時間的任何原因,但是這個循環中沒有其他的東西。不幸的是,我不知道kG
是如何工作的,因爲缺少文檔。
問題:給定一個二進制數據blob作爲std :: string,構造一個字節列表的有效方法是什麼?