分配给打字稿类的每个对象的相同常量字符串的内存命中率是多少?



如果能在typescript中创建的每个类对象中都有一个className成员变量,那将是一个巨大的帮助。这将使安全地识别对象的类变得易如反掌。

它必须是一个成员变量(而不是ES5的get/set),因为我们将这些对象传递给/从web worker传递,所以只有数据被传递。

可以在每个类中将名称的字符串声明为静态类型,并赋值该静态类型。因此,每个实例化对象的内存命中应该只是多1个指针。

除了由于每个对象中的附加指针而导致的内存之外,这样做是否有任何缺点?

根据字符串的值在单个内存位置共享字符串,即相同的值使您获得完全相同的内存位置称为字符串实习

好的浏览器(chrome;))确实实现了字符串实习。下面是一个字符串实习的测试,显示了不同浏览器的结果:http://jsperf.com/strinterning

在没有字符串实习的情况下,你得到一个新的内存地址+分配。内存的数量将取决于您的使用情况,但是如果您想知道,字符串分配不是,特别是缓慢的 JavaScript过程。这和c#是一样的(顺便说一下,c#确实有实习……

最新更新