Posts tagged with javascrip


Velocity2013上有一篇演讲说的是static memory of javascript, 是关于emscripten的应用。除了迁移C/C++的lib到javascript之外,还提到一个观点是关于static memory的。由于在C/C++中的内存都是手动分配和释放,所以在emscripten生成的asm.js中会事先分配一个大heap,之后所有的相关内存管理都在这个heap中进行,就没gc啥事了。

好处是避免的gc在意料不到的时候进行, 观点合理的手动分配是最高效的。emscripten在游戏方面还是很有用,很多游戏引擎剥离gpu相关的代码之后都是纯计算的没有io操作,在浏览器中执行没有任何问题,然后就是游戏对于使用的流畅性,gc的无法预知会导致一定是有在某个时刻会开始进行gc而导致性能下降,表现就是卡死。这对网络游戏者来说是致命的。

static memory,管理起来比较麻烦,但是也是说明如果在一个object创建和销毁频繁的情况下,使用object pool是非常有效的。如果在gc上碰到性能瓶颈也可以通过提前预支一块heap来优化。

然后一直在想的一点是javascript和大部分语言不一样的地方是没有struct