Python - `.so`进口的开销?

时间:2011-05-16 00:00:44

标签: python

我有1000个自定义(编译为'.so')模块,我想在python同时使用它们。每个此类模块的平均大小(100 [KB])。

有没有人知道每个python导入的开销是什么(在操作系统上 - 假设.so没有处理此问题)?意思是,开销是否等于磁盘上.so文件的大小?或者它是固定的,无论.so文件的大小?

我还没有到达那里,但很想知道当人们想要导入时对操作系统有什么影响,比如一次说10,000-50,000个自定义模块。

1 个答案:

答案 0 :(得分:3)

导入许多共享库会有很大的时间开销 - 动态链接器会在加载阶段花费大量时间。动态链接器实际上针对数十到数百个共享对象进行了优化,而不是数千到数万个。

如果可能,请合并您的共享代码对象。

但是,一旦加载的大小可能比一个磁盘大小小一些,具体取决于文件中的其他信息(DWARF调试符号,不需要额外的ELF部分等)。