IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    字符串驻留技术

    战魂小筑发表于 2015-05-06 03:33:00
    love 0

    一直对各类编程语言中的字符串底层实现的差异感兴趣. 最近在知乎上提了一个问题
    总结起来, 在脚本里常用的一种字符串处理方法称之为 字符串驻留技术(String interning).
    此技术主要为了节约内存, 提高访问, 操作效率. 这里拿lua来说, lua中低于40个字节的字符串驻留在全局hash表中, 大于40个字符的字符串单独有一个表. 这么处理可以提高cache命中几率. 但核心的关键是, 字符串的入库都要进行hash化处理, 这个比较耗时. 但入库后, 字符串之间的变量赋值只限于字符串引用, 还是唯一的一个引用, 字符串比较也是基于整数级别, 效率很高

    一些链接
    蒋金楠(Artech)博客园中C#的例子
    http://www.cnblogs.com/artech/archive/2007/03/04/663728.html

    C#微软官方的例子
    https://msdn.microsoft.com/en-us/library/system.string.intern(v=vs.110).aspx



    战魂小筑 2015-05-06 11:33 发表评论


沪ICP备19023445号-2号
友情链接