Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 共享库加载和性能_C++_C_Shared Libraries - Fatal编程技术网

C++ 共享库加载和性能

C++ 共享库加载和性能,c++,c,shared-libraries,C++,C,Shared Libraries,我正在用C/C++编写一个服务器端应用程序,它由一个主守护进程和几个子进程组成 我希望子进程是非常轻量级的,这样它们就可以在没有太多开销的情况下生成/终止(超过操作系统强加的开销) 我正在构建主守护进程和子应用程序,以广泛使用共享库。实际上,主守护进程加载子应用程序所需的所有共享库,并设置所需(共享)内存结构等 我的基本假设是,由于共享库(其中一些是巨大的)已经由主守护进程加载,子应用程序将能够快速启动并简单地连接到加载的库,而无需加载共享库,因此,产卵的时间会稍微快一点——这个假设正确吗 [[

我正在用C/C++编写一个服务器端应用程序,它由一个主守护进程和几个子进程组成

我希望子进程是非常轻量级的,这样它们就可以在没有太多开销的情况下生成/终止(超过操作系统强加的开销)

我正在构建主守护进程和子应用程序,以广泛使用共享库。实际上,主守护进程加载子应用程序所需的所有共享库,并设置所需(共享)内存结构等

我的基本假设是,由于共享库(其中一些是巨大的)已经由主守护进程加载,子应用程序将能够快速启动并简单地连接到加载的库,而无需加载共享库,因此,产卵的时间会稍微快一点——这个假设正确吗

[[新增]]


我正在使用Ubuntu10.0.4 LTS

共享库的代码段将由所有进程共享,不受加载/生成的特定限制。然而,这可能需要可变的时间,这取决于过程中使用了多少符号,因为这些符号将在加载期间解析


但是,如果您正在进行分叉,那么就没有太多的工作要做了,因为它可以快速启动新的二进制文件。

您是否在特定的操作系统环境中工作?你的假设在一般情况下是成立的,但特定的环境可能需要你跳出一些障碍来获得这种行为。我认为你的假设是正确的,但找不到支持你的参考up@Gian:请看我更新的问题。我在Linux上的工作还取决于您如何运行这些子进程。Fork还是别的什么?@Mat:我还处于设计阶段,所以我没有承诺采用任何特定的方法来启动这个过程。无论什么性能更好(如这里所建议和认可的),我都将实施。