小编pic*_*c11的帖子

提升Asio单线程性能

我正在实现需要维护非常大量(100K或更多)长期连接的自定义服务器.服务器只是在套接字之间传递消息,它不会进行任何严肃的数据处理.消息很小,但其中很多都是每秒接收/发送的.减少延迟是目标之一.我意识到使用多个内核不会提高性能,因此我决定通过调用run_one或者对象poll方法在单个线程中运行服务器io_service.无论如何,多线程服务器将更难实现.

可能存在哪些瓶颈?系统调用,带宽,完成队列/事件多路分解?我怀疑调度处理程序可能需要锁定(这是由asio库在内部完成的).是否可以在boost.asio中禁用偶然队列锁定(或任何其他锁定)?

编辑:相关问题.多线程的系统调用性能是否有所改善?我的感觉是,因为系统调用是内核原子/同步的,所以添加更多线程不会提高速度.

c++ linux boost epoll boost-asio

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

10
推荐指数
2
解决办法
3683
查看次数

在头文件中声明静态全局函数

我遇到了别人写的一段代码.在头文件中声明为静态的几个全局函数.函数本身在单独的实现文件中定义.AFAIK,静态函数定义在定义函数的转换单元外部不可见.如果是这样,在头文件中声明静态函数有什么意义?

// in some header file
static void foo();


// in some implementation file
static void foo()
{
....
....
}
Run Code Online (Sandbox Code Playgroud)

c c++

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

如何从编辑控件中获取数值

很抱歉,如果这太简单了,但我无法弄清楚如何将数值输入编辑控件.MFC编辑由CEdit类表示的控件.

谢谢.

c++ windows mfc

10
推荐指数
2
解决办法
2万
查看次数

Makefile.in和变量替换

Makefile.in我看到变量定义,其中外部变量名称包含在两个@符号之间

# @configure_input@

package = @PACKAGE_NAME@
Run Code Online (Sandbox Code Playgroud)

那些外部变量来自哪里?另外,我在GNU手册中找不到两个@符号之间完全包含变量的含义是什么意思?它是Makefile.in特有的东西吗?

谢谢.

automake autoconf makefile

9
推荐指数
2
解决办法
2149
查看次数

GNU Autotools:没有版本信息的重建

我需要构建一个配置了autotools的lib.通常的configure && make && make install步骤产生版本化的共享库,类似于libfoo.so.x.x是否可以修改configure.ac或Makefile.am(当然还有后续的autoreconf),以便构建非版本化的lib.

谢谢!

automake autoconf autotools

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

编译器如何处理SSE(或任何)内在函数?

不久之前,我在某处读到SSE内部函数编译成高效的机器代码,因为编译器将它们与普通函数区别对待.我正在徘徊实际上编译器是如何做到的,以及C程序员可以做些什么来促进这个过程.是否有任何关于如何使用内部函数的指导方针,使编译器能够更轻松地生成高效的机器代码.

谢谢.

c c++ optimization sse intrinsics

8
推荐指数
2
解决办法
1495
查看次数

Weblink文档

如何使doxygen生成可点击的超链接?像这样的东西

堆栈溢出

我生成的文档只是HTML.

谢谢.

doxygen

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

调用空字符串的c_str

此代码片段是正常还是导致未定义的行为?

std::string s;
assert(strlen(s.c_str())==0);
Run Code Online (Sandbox Code Playgroud)

如果它不是未定义的行为,上述断言是否会通过?

c++

8
推荐指数
2
解决办法
6383
查看次数

static_cast用于用户定义的类型

是否可能以及为什么要这样做?

class Foo;
class Bar;

......

Foo foo;
Bar bar = static_cast<Bar>(foo);
Run Code Online (Sandbox Code Playgroud)

通常,static_cast与数字类型和指针一起使用,但它是否可以使用用户定义的数据类型,即类?

c++

7
推荐指数
2
解决办法
3304
查看次数