小编Sna*_*zer的帖子

具有非常大的数据库文件的sqlite的性能特征是什么?

我知道sqlite对于非常大的数据库文件表现不佳,即使它们受支持(曾经在sqlite网站上发表评论,说明如果你需要的文件大小超过1GB,你可能要考虑使用企业rdbms.再找不到它,可能与旧版本的sqlite有关.

但是,出于我的目的,我想在考虑其他解决方案之前了解它到底有多糟糕.

我说的是数千兆字节的sqlite数据文件,从2GB开始.有人对此有经验吗?任何提示/想法?

database sqlite performance

317
推荐指数
9
解决办法
16万
查看次数

使用数组偏移与指针增量有什么区别?

给定2个函数,哪个应该更快,如果有任何差异?假设输入数据非常大

void iterate1(const char* pIn, int Size)
{
   for ( int offset = 0; offset < Size; ++offset )
   {
      doSomething( pIn[offset] );
   }
}
Run Code Online (Sandbox Code Playgroud)

VS

void iterate2(const char* pIn, int Size)
{
   const char* pEnd = pIn+Size;
   while(pIn != pEnd)
   {
      doSomething( *pIn++ );
   }
}
Run Code Online (Sandbox Code Playgroud)

两种方法都有其他问题需要考虑吗?

c++

4
推荐指数
2
解决办法
5375
查看次数

在不同的平台上有不同的东西吗?

我在C++中编写一个并发的持久性消息队列,它需要对文件进行并发读访问,而不使用内存映射io.简短的故事是,几个线程需要从文件的不同偏移量中读取.

最初我有一个具有典型读/写方法的文件对象,并且线程将获取一个互斥锁来调用这些方法.但是,碰巧我没有在某处正确获取互斥锁,导致一个线程在读/写期间移动文件偏移量,另一个线程将开始读/写文件的不正确部分.

所以,偏执的解决方案是每个线程有一个打开的文件句柄.现在我对同一个文件有很多文件句柄,我假设它不是很好.

我想使用类似pread的东西,它允许将当前偏移量传递给读/写函数.

但是,该功能仅适用于linux,我需要在windows,aix,solaris和hpux上进行等效实现,有什么建议吗?

c++ file-io cross-platform file

3
推荐指数
1
解决办法
3080
查看次数

从Visual Studio C++ 6.0到VS 2008?

我在一家在VC6上进行C++开发的公司工作,我们正考虑转向VS 2008.

升级有什么好处?

有什么缺点?

有关迁移项目文件的任何指南/步骤,或者我应该注意的问题?人们可以转向不同的开发界面吗?

c++ ide build visual-studio

2
推荐指数
1
解决办法
1938
查看次数