什么类型的输入会减慢动态内存分配器 malloc() 和 free() 的执行时间?

What type of input would slow down execution time of dynamic memory allocators malloc() and free()?

我对计算实时系统的最坏情况执行时间很好奇,我试图找到极端情况来预测最坏情况时间。

什么类型的输入场景会减慢动态内存分配?谢谢。

空闲列表为空是一种情况,需要 OS 中的新内存。空闲列表很大但充满了太小而无法满足当前请求的小块将是另一种情况:可能会触发在找到一个大列表之前遍历一个大列表,或者退回到另一种获取新内存的方式。

很明显,您希望设计分配器的数据结构来避免该问题,也许可以通过按大小对空闲列表进行分组,尤其是在关注实时最坏情况时。

这只是我的想法,不是我参与设计的东西,所以它肯定不是一个详尽的清单。