diff --git a/README.md b/README.md index edb5139..a27a9d1 100644 --- a/README.md +++ b/README.md @@ -96,4 +96,16 @@ Sub Binaries The reference objects sub binaries and match contexts can reference part of a refc binary or heap binary 子二进制文件由split_binary / 2创建或者当二进制文件以二进制模式匹配时。子二进制是对另一个二进制文件(refc或堆二进制文件的一部分,但从不进入另一个子二进制文件)的引用。因此,匹配二进制文件相对便宜,因为实际的二进制数据永远不会被复制。 Match Context - 匹配上下文类似于子二进制,但针对二进制匹配进行了优化 \ No newline at end of file + 匹配上下文类似于子二进制,但针对二进制匹配进行了优化 + +关于iolist + 定义(直接引用霸业的文章) + 1. [] + 2. binary + 3. 列表, 每个元素是int(0-255)或者binary或者iolist. + 其中binary是指 bitsize % 8 == 0 . + int 是0-255 + Iolist的作用是用于往port送数据的时候.由于底层的系统调用如writev支持向量写, 就避免了无谓的iolist_to_binary这样的扁平话操作, 避免了内存拷贝,极大的提高了效率. + 另外额外补充: + erlang中列表时在头部添加比较高效,但是binary是在尾部追加更高效 + \ No newline at end of file