标记生成:什么是VM:调度延续

Flo*_*rin 17 xcode instruments ios

"VM:Dispatch continuations"下的分配是什么意思?

在此输入图像描述 (http://i.stack.imgur.com/4kuqz.png)

Ewa*_*lor 2

@InkGolem 是对的。这是 GCD 内部调度块的缓存。

@AbhiBeckert 的偏差是 1000 倍。16MB 是 200 万个 64 位指针,而不是 20 亿个。

该缓存是按线程分配的,您只是看到该缓存的分配大小,而不是实际使用的大小。如果您要在后台线程上执行大量分派操作,则 16 MB 完全在范围内(并且由于您正在使用 RAC,我猜您是这样)。

基本上不用担心。

  • @Unheilig 我不知道任何文档。这是 libdispatch 的实现细节。查看 https://github.com/unofficial-opensource-apple/libdispatch/blob/master/src/queue_internal.h,从 DISPATCH_CONTINUATION_CACHE_LIMIT 开始,玩得开心。 (2认同)