|
Ограничить объем данных в памяти.
|
|||
---|---|---|---|
#18+
Есть очередь Код: c# 1.
Есть класс товара Код: c# 1. 2. 3. 4. 5.
Очередь заполняется товаром. Необходимо установить ограничение на объем памяти, которую может занять очередь. Например, установили лимит 1 Мбайт, заполняем очередь, получаем сообщение о превышении, принимаем решение, что делать далее. Есть вариант рассчитать размер товара и т.д. и считать, сколько товара допустимо поместить в очередь, но хотелось бы найти решение по описанному выше примеру. Прошу помощи, советов. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 15:57 |
|
Ограничить объем данных в памяти.
|
|||
---|---|---|---|
#18+
Serge163, Используйте для начала не класс, а структуру для Goods. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 15:59 |
|
Ограничить объем данных в памяти.
|
|||
---|---|---|---|
#18+
Axeleron, Спасибо, этот вариант уже рассматривается. Пока важно не сэкономить объем, а ограничить. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 16:52 |
|
Ограничить объем данных в памяти.
|
|||
---|---|---|---|
#18+
Serge163Axeleron, Спасибо, этот вариант уже рассматривается. Пока важно не сэкономить объем, а ограничить. Странная задача. А чем не устраивает ограничить количество элементов в коллекции/очереди? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 16:55 |
|
Ограничить объем данных в памяти.
|
|||
---|---|---|---|
#18+
Axeleron, По условию известно количество доступной памяти. Если посчитать руками объем товара, затем соответственно его количество, то при изменении структуры товара придется делать новый пересчет. Этот вариант не отбрасываю, пока ищу способ ограничить. Важно не сколько товара, важно не превысить лимит. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 17:10 |
|
Ограничить объем данных в памяти.
|
|||
---|---|---|---|
#18+
Serge163, https://msdn.microsoft.com/en-us/library/system.runtime.memoryfailpoint(v=vs.110).aspx https://msdn.microsoft.com/ru-ru/library/system.gc.gettotalmemory(v=vs.110).aspx Не? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 17:19 |
|
Ограничить объем данных в памяти.
|
|||
---|---|---|---|
#18+
Serge163По условию известно количество доступной памяти. По какому условию? Кто и на каком основании такое условие придумал? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 17:20 |
|
Ограничить объем данных в памяти.
|
|||
---|---|---|---|
#18+
в string влезет 2Гб , т.е. достаточно 1-го элемента в вашей очереди ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 17:40 |
|
Ограничить объем данных в памяти.
|
|||
---|---|---|---|
#18+
buser, Спасибо, почитаю. Axeleron, Извините, но не хотелось бы отклоняться от главного. Тут либо найти решение, либо дать обоснованный вариант. Обоснованный вариант уже есть, просто я не уверен, что нет решения. К стати ваши доводы мне были бы тоже весьма интересны. Konst_One, Согласен string здесь совсем не уместен, давайте считать, что я заменил его на char. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 17:52 |
|
Ограничить объем данных в памяти.
|
|||
---|---|---|---|
#18+
Serge163, В вашем варианте например найм может быть одним обьектом и иметь много реферций из обэктов очереди. Таким образом придётся считать все обьекты очереди как графа обэктов. В принципе - можно. Если задачу упростит, принять хто обьекты охереди не имеют общих элементов, проще ввести вирт. метод для инстанса очереди, который указывает кол-во памяти и хранить текущую сумму паралелно с охередью. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 18:58 |
|
Ограничить объем данных в памяти.
|
|||
---|---|---|---|
#18+
AxeleronSerge163, Используйте для начала не класс, а структуру для Goods. От чего это спасет? У него есть Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 19:04 |
|
Ограничить объем данных в памяти.
|
|||
---|---|---|---|
#18+
ЕвгенийВAxeleronSerge163, Используйте для начала не класс, а структуру для Goods. От чего это спасет? У него есть Код: c# 1.
Хочешь сказать, что String - не immutable class? Хотя согласен, нужно сравнение. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 19:22 |
|
Ограничить объем данных в памяти.
|
|||
---|---|---|---|
#18+
mikron, Можно подробнее ваш вариант? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 19:42 |
|
Ограничить объем данных в памяти.
|
|||
---|---|---|---|
#18+
Serge163Например, установили лимит 1 Мбайт Ну так оберни в свой класс, считай объем в очереди. при помещении this.size += object.size, при извлечении this.size -= object.size. дальше принимай решения в зависимости от this.size ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2016, 20:34 |
|
|
start [/forum/topic.php?fid=20&msg=39163192&tid=1400825]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 155ms |
0 / 0 |