|
Здравствуйте!
|
|||
---|---|---|---|
#18+
И благодарю всех, кто мне помогал!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2013, 13:40 |
|
Здравствуйте!
|
|||
---|---|---|---|
#18+
Amankeldi, это почти триллион бланков... он никогда их не обработает ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2013, 13:58 |
|
Здравствуйте!
|
|||
---|---|---|---|
#18+
Amankeldi, Вам зачем эти триллионные списки использованных и неиспользованных бланков? Их что, кто-то смотреть глазами будет - все эти миллионы-триллионы? Вам же достаточно, как я понял, хранить только начало и конец массивов бланков и текущий индекс, и обрабатывать их либо по-одному, либо пакетно, но не все сразу? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2013, 14:07 |
|
Здравствуйте!
|
|||
---|---|---|---|
#18+
Тут, по-моему, надо понять, что все эти коллекции не предназначены для хранения многих миллионов значений. Да и в любом случае, практически никогда не требуется тупо вывести список из миллиона элементов - зачем? Как правило, всегда есть какие-то ограничивающие критерии. Скажем, список хранится в БД, но получать его оттуда весь не надо - надо по критериям. Даже если надо показать список, всё равно делайте это транзакциями - постраничное разбиение и всё такое. Даже те контролы, которые показывают списки, всё равно показывают не весь список, а только часть его - вот вам и постраничное разбиение. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2013, 14:11 |
|
Здравствуйте!
|
|||
---|---|---|---|
#18+
user7320, Вы меня правильно поняли. Мне не нужен весь список. В моем методе я же делаю перебор, обрабатываю их по-одному. Но максимум 60,000,000 бланков. Сделать перебор 888666444222 невозможно да? Это я чисто для себя. В принципе я задачу решил. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2013, 14:27 |
|
Здравствуйте!
|
|||
---|---|---|---|
#18+
Amankeldiuser7320, Сделать перебор 888666444222 невозможно да? Это я чисто для себя. В принципе я задачу решил. Да вообще все равно, сколько их перебирать, просто времени займет больше или меньше. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2013, 14:52 |
|
Здравствуйте!
|
|||
---|---|---|---|
#18+
Да вообще все равно, сколько их перебирать, просто времени займет больше или меньше. Pallaris, Тогда почему у меня при переборе больше 60,000,000 выходить SystemOutOfMemoryException? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2013, 15:59 |
|
Здравствуйте!
|
|||
---|---|---|---|
#18+
Перебирать и хранить в памяти - это разные вещи ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2013, 16:01 |
|
Здравствуйте!
|
|||
---|---|---|---|
#18+
Amankeldi, Код: c# 1. 2.
Я не понял, а что мешает сделать SQL запрос (LIKE)? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2013, 16:12 |
|
Здравствуйте!
|
|||
---|---|---|---|
#18+
AmankeldiДа вообще все равно, сколько их перебирать, просто времени займет больше или меньше. Pallaris, Тогда почему у меня при переборе больше 60,000,000 выходить SystemOutOfMemoryException? Потому что вы сначала загружаете в память, а потом... а до этого "потом" уже не доходит - OutOfMemoryException. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2013, 16:45 |
|
Здравствуйте!
|
|||
---|---|---|---|
#18+
Amankeldiuser7320, Сделать перебор 888666444222 невозможно да? Это я чисто для себя. В принципе я задачу решил. запусти простой цикл в триллион итераций, в нем складывай 2+2, потом вернешься, расскажешь сколько дней считало. Потом прикинь насколько в контексте твоей системы действие "обработать бланк" дольше сложения двух двоек. Полученные дни из первого реузльтата помножь на полученный коэффициент. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2013, 02:36 |
|
Здравствуйте!
|
|||
---|---|---|---|
#18+
в ответе должно получиться лет шестьсот ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2013, 02:38 |
|
Здравствуйте!
|
|||
---|---|---|---|
#18+
Все понятно! Спасибо всем! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2013, 15:25 |
|
Здравствуйте!
|
|||
---|---|---|---|
#18+
имхо, но такие задачи надо делать в самом SQL сервере, для него обработка таких массивов данных явно задача попроще, чем в цикле что то обрабатывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2013, 07:37 |
|
Здравствуйте!
|
|||
---|---|---|---|
#18+
Roman Mejtesимхо, но такие задачи надо делать в самом SQL сервере, для него обработка таких массивов данных явно задача попроще, чем в цикле что то обрабатывать. Сервер нужен, чтобы скрывать ноу-хау и прочие секреты. Во всех остальных случаях надо всё вешать на юзера, особенно такие дурацкие задачи, как эта. Зря, чтоли, они себе компы для крузисов всяких покупали? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2013, 08:49 |
|
Здравствуйте!
|
|||
---|---|---|---|
#18+
Roman Mejtesимхо, но такие задачи надо делать в самом SQL сервере, для него обработка таких массивов данных явно задача попроще, чем в цикле что то обрабатывать. SQL сервер нужен для хранения данных и только. Как выбирать и что выбирать - решает слой логики, которой не место в СУБД. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2013, 09:19 |
|
Здравствуйте!
|
|||
---|---|---|---|
#18+
cooldeveloperRoman Mejtesимхо, но такие задачи надо делать в самом SQL сервере, для него обработка таких массивов данных явно задача попроще, чем в цикле что то обрабатывать. SQL сервер нужен для хранения данных и только. Как выбирать и что выбирать - решает слой логики, которой не место в СУБД. Я имел ввиду, когда логику хранят на сервере и наружу торчат лишь службы и методы, которые можно вызывать. Той и подобной логике, что у ТС, не место не то, что в СУБД, а вообще на сервере. Ноу-хау нет, а вычислений много - пусть клиентская машина упражняется. Ну, если это не какие-нибудь супервычисления, для которых только суперкомпьютер годится. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2013, 09:55 |
|
Здравствуйте!
|
|||
---|---|---|---|
#18+
user7320Я имел ввиду, когда логику хранят на сервере и наружу торчат лишь службы и методы, которые можно вызывать Этот сервер называется "сервер приложений" :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2013, 10:26 |
|
Здравствуйте!
|
|||
---|---|---|---|
#18+
cooldeveloperuser7320Я имел ввиду, когда логику хранят на сервере и наружу торчат лишь службы и методы, которые можно вызывать Этот сервер называется "сервер приложений" :) Да-да, я знал. Просто забыл. Ну так и надо такую логику из сервера приложений вытеснять. Электричество пусть юзеры тратят. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2013, 11:40 |
|
Здравствуйте!
|
|||
---|---|---|---|
#18+
user7320cooldeveloperпропущено... Этот сервер называется "сервер приложений" :) Да-да, я знал. Просто забыл. Ну так и надо такую логику из сервера приложений вытеснять. Электричество пусть юзеры тратят. От задачи зависит. По сабжу у автора трудозатратная длительная операция - обход элементов в IEnumerable. Можно эту задачу фоново (ни в коем случае не в главном потоке) выполнять на десктоп клиенте (не совсем надежно и правильно) или отложенно выполнять на сервере приложений (для трехзвенных вариантов, в том чисте и веб решений). Я сомневаюсь, что эта задача - пользовательская. Скорее всего это какой-то длительный замороченный процессинг, следовательно, должен решаться на сервере приложений. Вот и весь вывод. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2013, 11:58 |
|
Здравствуйте!
|
|||
---|---|---|---|
#18+
И вообще чувствуется, что такая задача либо раз в месяц, либо вообще в год... Если это так, то ее решают в ночное время... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2013, 12:39 |
|
Здравствуйте!
|
|||
---|---|---|---|
#18+
Владимир САночное время... Осталось понять, что такое "ночное время". Нынче ночи в Новосибирске и ночи в Москве тёмные, суровые :) P.S. Отложенный процессинг выполняют в часы наименьшей нагрузки на сервер(а) и чтобы актуализация данных была к требуемому моменту времени для бизнеса. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2013, 13:12 |
|
Здравствуйте!
|
|||
---|---|---|---|
#18+
cooldeveloperВладимир САночное время... Осталось понять, что такое "ночное время". Нынче ночи в Новосибирске и ночи в Москве тёмные, суровые :) P.S. Отложенный процессинг выполняют в часы наименьшей нагрузки на сервер(а) и чтобы актуализация данных была к требуемому моменту времени для бизнеса.Согласен с тем, что надо запускать такие задачи с наименьшей нагрузкой на сервер... В моем понятии ночное время (а у нас именно ночью сервер наименее загружен)... и запускаю задачи такого плана на ночь местного времени... К утру обычно расчет закончен... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2013, 14:20 |
|
Здравствуйте!
|
|||
---|---|---|---|
#18+
Владимир САночь местного времени... Вот тебе задачка, основной контингент интрасети домена - новосибцы (80%), часть - ростовский филиал (10%), часть - владивосток (10%). Сервера хостятся в первопрестольной в модном облаке за разумные правильные деньги. Внимание, три вопроса: что есть местное время, какова его ценность в процессинге и когда лучше процесситься? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2013, 15:10 |
|
Здравствуйте!
|
|||
---|---|---|---|
#18+
cooldeveloperВладимир САночь местного времени... Вот тебе задачка, основной контингент интрасети домена - новосибцы (80%), часть - ростовский филиал (10%), часть - владивосток (10%). Сервера хостятся в первопрестольной в модном облаке за разумные правильные деньги. Внимание, три вопроса: что есть местное время, какова его ценность в процессинге и когда лучше процесситься? :) А вы как делаете: накапливаете статистику - когда наименьшая загрузка - и пускаете расчёт во время спада, или, опять же, пускаете во время спада, но уже не по расписанию, а анализируете динамически наименьшую загрузку? Во втором случае, как я понимаю, процессу расчёта нужно уметь засыпать, сохранять своё состояние и просыпаться по сигналу. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2013, 15:15 |
|
|
start [/forum/topic.php?fid=20&msg=38226007&tid=1404842]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 320ms |
total: | 473ms |
0 / 0 |