Project

General

Profile

Actions

Task #4896

closed

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

Added by Igor Melnichenko almost 10 years ago. Updated over 9 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.

Actions #1

Updated by Alexander Kamkin over 9 years ago

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

Updated by Andrei Tatarnikov over 9 years ago

  • Status changed from New to Rejected

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

Actions

Also available in: Atom PDF