Fir*_*cer 10 c++ multithreading memory-management visual-studio-2008
我有一个小类(32位系统上16个字节),我需要动态分配.在大多数情况下,任何给定实例的生命周期都非常短.某些实例也可以跨线程边界传递.
做了一些分析后,我发现我的程序似乎花费了更多的时间来分配和解除分配,而不是实际花费使用它们所以我想用更高效的东西替换默认的new和delete.
对于一个大型对象(db连接,因为它发生,构造而不是分配是昂贵的),我已经在使用池系统,但是它涉及一个用于存储"free"对象的列表,还有一个用于线程安全的互斥锁.在互斥锁和列表之间,它实际上比小对象的基本新建/删除更糟糕.
我在Google上发现了许多小对象分配器,但它们似乎使用的是全局/静态池,它不是以线程安全的方式使用,使它们不适合我的用途:(
我有哪些其他选项可以有效地管理这些小对象?
| 归档时间: | 
 | 
| 查看次数: | 1852 次 | 
| 最近记录: |