Базовые данные - можно ли сохранить вычисленное значение в качестве постоянного атрибута? - PullRequest
1 голос
/ 22 ноября 2010

Фон

  • У меня есть вычисленное значение, сохраненное в переходном атрибуте.
  • Каждый раз, когда мое приложение запускается, переходный процесс должен обновляться.
  • Время запуска очень медленное (т. Е. 10-15 секунд)
  • Инструменты подтверждают, что обновление очень дорого.

Вопрос

Можно ли сохранять вычисленное значение в постоянном атрибуте?

Я бы использовал Зависимые свойства Мартина Бруггера , чтобы поддерживать расчетное значение в актуальном состоянии.

Дополнительная информация

Мое вычисленное значение - это продолжительность для тысяч объектов:

Name                       Duration
Users                      70s            
    Proposal.doc           35s   
      12:32-12:32          5s   
      13:11-13:11          30s   
    Proposal2.doc          35s   
      14:32-14:32          15s   
      15:11-15:11          20s   
    ...thousands more objects...

Что я пробовал

  • Я свел к минимуму количество возникающих неисправностей, используя предварительную выборку и setReturnsObjectsAsFaults:NO, но он использует много памяти и все еще требует возрастов.

  • Я сделал свой переходный код обновления настолько эффективным, насколько я знаю.

  • Я знаю, что могу получить в фоновом потоке и использовать индикатор выполнения, но я бы предпочел, чтобы пользователю вообще не приходилось ждать.

1 Ответ

2 голосов
/ 22 ноября 2010

Я не уверен, что полностью понимаю вопрос, но простой ответ на то, что я думаю, вы спрашиваете, «конечно». : -)

Нет ничего плохого в том, чтобы иметь временное вычисляемое в реальном времени значение «currentTotalDuration» и атрибут «cachedTotalDuration». Когда «currentTotalDuration» обновляется, бросьте его в «cachedTotalDuration», и все готово. Для меня совершенно разумно иметь постоянный кэшированный атрибут наряду с «вычисляемым в реальном времени» переходным значением, которое используется только тогда, когда его необходимо обновить.

Я не знаком с зависимыми свойствами Мартина Бруггера, но похоже, что большая часть тяжелой работы уже сделана для вас.

Надеюсь, я ответил на вопрос, который вы на самом деле задали. : -D

...