Объявление

Свернуть
Пока нет объявлений.

Письма с превышением уплаты за год

Свернуть
X
  • Фильтр
  • Время
  • Показать
  • Сортировать
  • Упорядочить по
Очистить всё
новые сообщения

  • vk65
    Участник ответил
    Сообщение от lubezniy Посмотреть сообщение
    В общем, результат замера времени обработки после оптимизации - 2 ч. 15 мин. 49 с.
    А какие результаты будут на объёме, меньшем на порядок (1000-1500 ЗЛ) ?
    И ещё два предложения по интерфейсу:
    1. Всё-таки хорошо бы писать не в TEMP, а задавать папку для выходных файлов.
    2. Было бы удобно наличие кнопки, позволяющей повторно открыть сформированный протокол по выбранному страхователю.

    Прокомментировать:


  • lubezniy
    Участник ответил
    Версия обновлена.

    Прокомментировать:


  • lubezniy
    Участник ответил
    В общем, результат замера времени обработки после оптимизации - 2 ч. 15 мин. 49 с. Делалась компактная форма HTML, объём файлика протокола составил 29 МБайт (Firefox открывал его минут 5, но не свалился). Немного про исходные данные: приблизительно 12300 застрахованных лиц, 151 файл размером от 3 КБайт (отменяющие ИС на одно ЗЛ) до 5,5 МБайт (СЗВ-6-2 на 2620 ЗЛ), посторонних файлов нет; общий объём - около 98 МБайт. Машинка - Core 2 Quad Q8300, 2,5 ГГц (4 ядра, но процессом было занято только одно - увы, нечего там параллельно обрабатывать), память 4 гига, ОС Windows Vista Business 32-битная.
    Через полчаса выложу версию.
    Последний раз редактировалось lubezniy; 07.07.2011, 23:46.

    Прокомментировать:


  • lubezniy
    Участник ответил
    Сообщение от vk65 Посмотреть сообщение
    И при таком подходе не обязательно читать файл до конца - достаточно встретить первый тэг, относящийся к данным.
    Понимаю... но с такими вещами, чтобы сделать правильно, мне нужно ещё экспериментировать. Побайтовое чтение в Delphi весьма медленное и прироста скорости практически не даст - короче, нужно думать.
    P. S.: Дома вечером увидел сообщение об ошибке, но вызывающееся после отработки процедуры и не связанное с нехваткой памяти (уже неплохо). Ошибку поправил, слегка оптимизировал алгоритмы обработки в циклах (думаю, на таких объёмах может дать хотя бы 5-10 минут экономии времени) и сейчас запустил обработку (не получение списка страхователей) повторно, вставив замер времени по системным часам. Объём занятой процессом памяти временами доходит до 140 МБайт, но это уже гораздо более приличная цифра, чем 2 гига и Out of memory до правок. Одно из четырёх ядер процессора программа грузит на всю катушку (в среднем загрузка 25%, иногда доходит до 30-32 по диспетчеру задач), так что впишу в системные требования для больших объёмов процессор не ниже двухъядерного.

    Прокомментировать:


  • yante
    Участник ответил
    Сообщение от Патя
    уважаемые коллеги, работники нашего ОПФР настолько измучены тем, что не знают как правильно принять отчеты, что еще мучают нас тем, что не могут объяснить как правильно сделать их
    Ух ты ж, первое сообщение на форуме, а какая точность...

    Прокомментировать:


  • vk65
    Участник ответил
    Сообщение от lubezniy Посмотреть сообщение
    У меня зависит: читаются все файлы, отсеиваются файлы, не содержащие ИС, и затем уже обрабатывается номер.
    И при таком подходе не обязательно читать файл до конца - достаточно встретить первый тэг, относящийся к данным.

    Прокомментировать:


  • lubezniy
    Участник ответил
    Сообщение от vk65 Посмотреть сообщение
    Виктор, можете указать объем данных (кол-во ЗЛ) и время обработки?
    Объём - порядка 12000 застрахованных лиц. Время пока не замерял - пока делаю тест на расход памяти (первый тест с полным таким объёмом данных - раньше было Out of memory). На выходных попробую замерить.
    Вы имеете в виду получение списка страхователей? Это вроде не должно от объема данных зависеть. Я правда не смотрел, как у Вас это сейчас сделано.
    У меня зависит: читаются все файлы, отсеиваются файлы, не содержащие ИС, и затем уже обрабатывается номер. Видимо, нужно будет оптимизировать.

    Прокомментировать:


  • vk65
    Участник ответил
    Сообщение от yante Посмотреть сообщение
    Я тоже так думаю. Надо лишь при выборе папки с файлами считать из них наименования Страхователей ( кстати, для этого сейчас надо жать кнопку, а можно ли сделать автоматически - выбрал папку, получи список? ). Заодно можно проверить, чтобы в файлах с одинаковым номером ( в имени файла ) были одинаковые названия ( внутри файлов ) - если не сложно
    Я думаю чуть-чуть не так.
    Нужно из имён файлов выбрать уникальные рег.номера, а потом для каждого выбранного номера открыть один любой (а лучше - самый последний) файл и считать из него наименование.
    А проверку имён можно делать при обработке выбранного страхователя. Кста, встречал ситуацию, когда ООО "ААА" переименовалось в ООО "БББ", и при этом сохранился прежний рег. номер.

    Прокомментировать:


  • yante
    Участник ответил
    Сообщение от vk65 Посмотреть сообщение
    Виктор, можете указать объем данных (кол-во ЗЛ) и время обработки?

    Вы имеете в виду получение списка страхователей? Это вроде не должно от объема данных зависеть. Я правда не смотрел, как у Вас это сейчас сделано.
    Я тоже так думаю. Надо лишь при выборе папки с файлами считать из них наименования Страхователей ( кстати, для этого сейчас надо жать кнопку, а можно ли сделать автоматически - выбрал папку, получи список? ). Заодно можно проверить, чтобы в файлах с одинаковым номером ( в имени файла ) были одинаковые названия ( внутри файлов ) - если не сложно

    Прокомментировать:


  • vk65
    Участник ответил
    Сообщение от lubezniy Посмотреть сообщение
    Вчера получил возможность проверить работу программы на данных крупного страхователя
    Виктор, можете указать объем данных (кол-во ЗЛ) и время обработки?
    вряд ли удобно на расчёт только одного выбора страхователя при больших объёмах тратить час, а то и больше
    Вы имеете в виду получение списка страхователей? Это вроде не должно от объема данных зависеть. Я правда не смотрел, как у Вас это сейчас сделано.

    Прокомментировать:


  • lubezniy
    Участник ответил
    Вчера получил возможность проверить работу программы на данных крупного страхователя (один из пользователей прислал мне обезличенные файлы - спасибо ему). Переосмыслил интерфейс программы (вряд ли удобно на расчёт только одного выбора страхователя при больших объёмах тратить час, а то и больше), разобрался с утечкой памяти, решил вопрос со СНИЛС, поднятый уважаемой Sova64. Версия с утра дома тестируется на полном объёме данных - процесс, мягко говоря, не быстрый. Если вечером после работы увижу протокол, выложу версию на сайт.

    Прокомментировать:


  • lubezniy
    Участник ответил
    http://www.lubezniy.ru/soft/vlsverkapf/

    Прокомментировать:


  • vitabios
    Участник ответил
    а где ее можно скачать?

    Прокомментировать:


  • lubezniy
    Участник ответил
    Версия обновлена:

    1. Исправлены обе ошибки из поста #161;
    2. Добавлен отдельный раздел (в HTML таблица, в Excel - лист) итогов по всем застрахованным лицам на каждый период.

    Прокомментировать:


  • lubezniy
    Участник ответил
    Сообщение от vk65 Посмотреть сообщение
    Виктор, обратите внимание на два момента в HTML-формах.
    1. Вы изменили Caption у EMail_Label, и теперь вместо ссылки на страницу программы в HTML-формах выводится "Сайт программы".
    2. В наглядной форме после добавления столбца с датой стал неверно работать скрипт переключения периодов. Там нужно поправить в двух местах (заменить 2 на 3):
    t.rows [0].cells [index + 3].style.display = d;
    ...
    for (var i2 = 4; i2 < t.rows.length; i2++) for (i1 = 0; i1 < 12; i1++) t.rows [i2].cells [i+i1+3].style.display = d;
    Спасибо. Вот что значит торопиться с выпуском: не одно, так другое. Сегодня же поправлю.

    Прокомментировать:

реклама

Свернуть
Обработка...
X