Project

General

Profile

Task #4896

[expression] метод NodeValue.valueOf(Data data)

Added by Igor Melnichenko over 6 years ago. Updated about 6 years ago.

Status:
Rejected
Priority:
Normal
Assignee:
Andrei Tatarnikov
Category:
-
Target version:
Start date:
05/06/2014
Due date:
% Done:

0%

Estimated time:
Detected in build:
svn
Published in build:

Description

Нужен метод NodeValue.valueOf(Data data) в дополнение к NodeValue(Data data) по аналогии с одноимёнными методами в стандартных классах Java, который бы кэшировал создаваемые объекты и одинаковым Data data ставил бы в соответствие один и тот же объект NodeValue.

History

#1

Updated by Alexander Kamkin about 6 years ago

  • Subject changed from [node] метод NodeValue.valueOf(Data data) to [expression] метод NodeValue.valueOf(Data data)
  • Target version set to 0.3
#2

Updated by Andrei Tatarnikov about 6 years ago

  • Status changed from New to Rejected

На мой вгляд это сомнительная оптимизация. Дело в том, что все объекты Node (в том числе и NodeValue) не являются immutable. У них есть атрибут user data, который может изменяться и может быть уникальным для объектов Node, хранящих одинаковые значения. Если мы будем кэшировать объекты NodeValue по данным, то возможны нежелательные побочные эффекты (user data для некоторых объектов будет потерян). Кроме того, мы пока еще не столкнулись с проблемами потребления памяти, которые бы требовали подобных оптимизаций. Кстати, вычисление хэш кода для Data тоже имеет свои издерки. Поэтому мы не будем пока этого делать.

Also available in: Atom PDF