Task #4896
closed
[expression] метод NodeValue.valueOf(Data data)
Added by Igor Melnichenko over 10 years ago.
Updated over 10 years ago.
Assignee:
Andrei Tatarnikov
Description
Нужен метод NodeValue.valueOf(Data data) в дополнение к NodeValue(Data data) по аналогии с одноимёнными методами в стандартных классах Java, который бы кэшировал создаваемые объекты и одинаковым Data data ставил бы в соответствие один и тот же объект NodeValue.
- Subject changed from [node] метод NodeValue.valueOf(Data data) to [expression] метод NodeValue.valueOf(Data data)
- Target version set to 0.3
- Status changed from New to Rejected
На мой вгляд это сомнительная оптимизация. Дело в том, что все объекты Node (в том числе и NodeValue) не являются immutable. У них есть атрибут user data, который может изменяться и может быть уникальным для объектов Node, хранящих одинаковые значения. Если мы будем кэшировать объекты NodeValue по данным, то возможны нежелательные побочные эффекты (user data для некоторых объектов будет потерян). Кроме того, мы пока еще не столкнулись с проблемами потребления памяти, которые бы требовали подобных оптимизаций. Кстати, вычисление хэш кода для Data тоже имеет свои издерки. Поэтому мы не будем пока этого делать.
Also available in: Atom
PDF