小编Bar*_*ter的帖子

MySQL:在DB中递增文本ID

我需要在我的应用程序中有文本ID.例如,我们有可接受的字符集azAZ09,并允许ID范围[aaa] - [cZ9].首先生成的id是aaa,然后是aab,aac,aad等

如何在交易方式中返回ID并增加下限?(假设有数百个并发请求,并且所有请求都应该有正确的结果)

为了降低负载,我想可以定义20个单独的范围,并从随机范围返回id - 这应该减少争用,但是不清楚如何首先进行单个操作.

另请注意,范围内的ID数量可能超过2 ^ 32.

另一个想法是具有64位整数的范围,并在软件代码中转换integer-> char id,在那里它可以异步完成.

有任何想法吗?

mysql auto-increment

5
推荐指数
1
解决办法
1432
查看次数

VisualStudio中的Windows GUI应用程序

在VS 2010中使用GUI编写(希望本机)C++应用程序的有效方法是什么?

我记得大约10年前我使用过MFC,今天有什么重大变化吗?

c++ windows user-interface visual-studio-2010

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

Perl:打开没有写缓存的文件

我知道现代*nix操作系统允许打开文件,因此数据不会缓存在系统/磁盘写入缓存中,因此任何写入操作只有在数据写入磁盘时才会完成.

你能建议我怎样才能在Perl中做到这一点?

操作系统是AIX/Solaris.

perl caching file

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

C++:提高ifstream二进制文件读取速度

我正在将小程序从 PHP 重写为 C++。这个想法基本上是读取 SSD 上的 32Gb 文件并对其进行一些简单的操作。

我正在使用带有 x64 版本构建的 Visual Studio 2012。PHP 是 5.3 32 位。

问题是 PHP 的裸读速度比 C++ 高,这让我很困惑。PHP 大约为 350 Mb/s,C++/ifstream 代码为 180 Mb/s。

代码非常简单:

ifstream datafile("data.txt", ios::binary);

while(datafile.read((char*)buffer, data_per_chunk)) {
//  do stuff;
Run Code Online (Sandbox Code Playgroud)

我尝试了不同的缓冲区大小,最高可达 16Mb,但差别不大。我还尝试通过 datafile.rdbuf()->pubsetbuf(...) 设置内部缓冲区,但它也没有任何区别。

有没有关于如何在不恢复到古老的 C 级接口的情况下加速 ifstream 的提示?我想至少达到 PHP 的性能水平。也许一些花哨的预读/缓存设置或其他东西。

我知道内存映射文件可能会有所帮助,但更愿意调整 ifstream 的设置,如果可以保持简单,因为该文件明显大于物理 RAM 且大于 4Gb,即不适合潜在的 32 位构建.

php c++ performance iostream stl

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

建议Comet服务器

我正在寻找基于Linux的开源Comet服务器.目前,看看Hookbox - 但是就像在Python中一样,我关注性能.Python而不是C++对性能有很大影响吗?

开发人员估计,当拥有100个频道时,它的性能达到每秒约100个请求...不是很快: - |

你能建议最积极支持/使用的彗星服务器是二进制(=更快),易于集成和(有点)轻量级?此外,Java/.NET不在这里.

我们的目标是每台服务器大约10k +连接,10-20k通道每秒大约2000-5000条消息.

comet hookbox

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

GCC:和/或关键字

看起来这些关键字在GCC中起作用,而不是C++标准的一部分.

你能说出来,为什么它是海湾合作委员会的一部分,它在哪里记录?

gcc keyword

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