style - Используются ли общие реализации JavaScript для интернирования строк?




window title jquery (2)

Существуют ли общие JavaScript-движки, такие как JavaScript- код V8 и WebKit, используют интернирование строк для строк JavaScript? Или они фактически хранят несколько экземпляров одинаковых строк в памяти?

https://code.i-harness.com


Да. В общем, любая буквальная строка, идентификатор или другая константная строка в источнике JS интернирована. Однако детали реализации (например, то, что интернировано, например) различаются, а также когда происходит интернирование.

Обратите внимание, что строковое значение не совпадает с строковым объектом, хотя объекты String не интернированы, потому что это будет принципиально неправильное поведение.


http://jsperf.com/strinterning

Да, в Chrome, нет в Aurora 15 и FF 13! Сравнение двух строк на 85% медленнее, чем сравнение двух указателей в Firefox. Однако в Chrome это такая же скорость, что свидетельствует о сравнении двух указателей.

Возможно, команда JS Engine в Mozilla должна проверить свой код ...





string-interning