就CPU周期而言,malloc()的成本是多少?(Vista/OS,最新版gcc,最高优化级别......)
基本上,我正在实现一个复杂的DAG结构(类似于链表),它由一些16B(不太常见)和20B节点(更常见)组成.
偶尔,我将删除一些节点,然后添加一些节点.但是,我可以简单地将不需要的节点移动到我的数据结构的末尾,然后在我的算法继续时更新字段,而不是总是使用malloc()和free().如果有空闲节点,我将更新字段; 如果没有,我将不得不分配一个新的.
问题是,我可能只有一个可用节点,而必须输入,例如,20个节点的数据.这意味着:
问题:真的值得吗?我应该像往常一样使用malloc()和free(),还是值得在列表末尾保留一些空闲节点,并且即使它通常会失败并继续检查malloc()也值得检查?
更具体地说,
malloc()的CPU成本是多少?
c ×1