io.js的第一个版本已于本月发布,当我在io.js中找到
smalloc新模块时,我正在阅读文档.
直到今天,我从未觉得需要在JavaScript中这样做.
我的问题是:
I wonder if there is really a need of raw memory allocation in
javscript usingsmalloc
?If its needed then why?
what would be the use case for using
smalloc
?and if not then why did io.js members add this module?
它还说
可能是指定您想要的外部数组数据的类型.所有可能的选项都列在smalloc.Types中.
用法示例:
var doubleArr = smalloc.alloc(3,smalloc.Types.Double);
这是分配支持的类型列表
smalloc.Types# Int8 Uint8 Int16 Uint16 Int32 Uint32 Float Double Uint8Clamped
- Are we trying to make javascript a 07002?
解决方法
首先,缓冲区由smalloc模块支持,io.js devs没有添加此模块,它是在节点0.11分支中启动的,io.js只是导入它.原始内存分配意味着较低级别的内存操作,因此 – 更快的操作,更好的性能,这是针对node.js和io.js的目标.因此,如果您需要在二进制世界中实现某些内容而不限于当前的Buffer API,则应使用smalloc创建自己的方法来操作内存.正如文档所说:
This can be used to create your own Buffer-like classes. No other properties are set,so the user will need to keep track of other necessary information (e.g. length of the allocation).
此外,这不是尝试使javascript成为强类型语言,这只是内存操作,它不能以其他方式完成,以确保更高的性能.