以下是长字符串很慢: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,构造一个字节列表的有效方法是什么?