我对计算实时系统的最坏情况执行时间感到好奇,并且我正在尝试找到极端场景来预测最坏情况时间。
什么类型的输入场景会减慢动态内存分配速度?谢谢。
最佳答案
空闲列表为空是一种情况,需要操作系统提供新内存。空闲列表很大,但充满了太小而无法满足当前请求的小块,这将是另一种情况:可能会在找到一个之前触发遍历大列表,或者退回到另一种获取新内存的方式。
很明显,您需要设计一个分配器的数据结构来避免该问题,也许可以通过按大小对空闲列表进行分组,特别是在考虑实时最坏情况时。
这只是我的想法,而且我没有参与设计,所以这当然不是一个详尽的列表。
关于memory-management - 什么类型的输入会减慢动态内存分配器 malloc() 和 free() 的执行时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66950691/