Здравствуйте, RushDevion, Вы писали:
P>>меняют редко, раз в неделю.
P>>читают средне, раз 50 в день, но объем вот написал какой.
P>>вопрос больше был не в цикле, а есть ли смысл делать структуру или ридонли поля для оптимизаций или не будет ли static тормозом тут?
RD>Т.е. есть приложение, которому нужно держать в памяти 100K таких записей
RD>(опять же непонятно зачем держать это именно в памяти, а не брать каждый раз из БД, ну да ладно).
RD>И раз в неделю их пересчитывать? Зачем тут вообще что-то оптимизировать при таких вводных?
RD>Любой вариант будет работать приемлемо быстро.
RD>А микрооптимизации (struct vs class, readonly и т.п.) принципиально ничего не поменяют.
я честно говоря тут немного код изменил по некоторым критериям, хотел понять насчет микрооптимизаций,
но вот что задумался так это что изначально планировался вариант с полем внутри класса, а у вас вариант предложенный с циклом
class Client
//эти поля в базе
decimal CurrentCashAmount
int Age
decimal LastYearCashAmount
decimal CurrentMonthExpenses
//эти поля динамически считаются
string Status = StatusDefinder.Define(CurrentCashAmount, LastYearCashAmount, CurrentMonthExpenses, Age)
Parallel.For(0, clients.Lenght-1, i => {
clients[i].Status = ...
});
ваш вариант предложен чисто из оптимизационных мыслей или в моем варианте есть недостатки?
по идее в вашем варианте нужно знать что надо вызвать проставление статуса, а в моем всё само высчитается