Раздутый файл .dyn, CallsiteTraceData

Главная Форумы Задать вопрос Раздутый файл .dyn, CallsiteTraceData

В этой теме 4 ответа, 3 участника, последнее обновление  Legantmar 2 мес. назад.

Просмотр 5 сообщений - с 1 по 5 (из 5 всего)
  • Автор
    Сообщения
  • #8040 Score: 0

    Семен
    Участник
    5 pts

    Всем привет!
    Может кто сталкивался со следующей проблемой:
    Сделал скрипт (не самый короткий, с большим количеством транзакций) с чистого листа и не запуская сохранил в файл “Электро12.dyn”, вес 21 КБ;
    Запустил скрипт (он без проблем отработал) и сохранил в файл “Электро12 запущенный.dyn”, вес 1337 КБ;
    При последующем запуске скрипта ревит и динамо зависают (в диспетчере видно, что процесс использует CPU на 13% (одно ядро целиком), ждал 10 минут).

    В файле появляются некие данные CallsiteTraceData длиной почти полтора миллиона символов:

    Парюсь уже месяц с зависанием скрипта и только сегодня заметил корреляцию с размером файла.
    Приходится работать со скриптом в режиме Только чтение (поставил галочку в свойствах файла), чтобы динамо при запуске скрипта не прописывал Это.
    Вероятно, это какой-то кэш обработанных транзакций, хотя я в этом не секу.
    Что я мог бы оптимизировать?
    https://drive.google.com/open?id=1Qd6OC5B50aGISsY6eEyUUtiKI5DkvfWz

    #8041 Score: 0

    Семен
    Участник
    5 pts

    Кстати, уже все перешли на Динамо 2? Есть ли в нем какие то проблемы, подводные камни?
    (Отсутствие обратной совместимости не проблема)

    #8042 Score: 0

    Анатолий
    Участник
    10 pts

    Отзовусь на “всякий случай”. У вас ведь в папке для скриптов должна быть папка “backup”? Вдруг там какой-то вариант данного скрипта сохранился.

    Для меня единственный пока-что весомый подводный камень в Динамо 2.0 с 2019 Revita то, что не работают сочетания клавиш копи-пейст и делит + это все не работает и в скриптах питона, что крайне неудобно.

    #8043 Score: 0

    Семен
    Участник
    5 pts

    Я не уточнил: работаю в Динамо 1.3. Про версию 2.0 спросил просто так

    #8050 Score: 1

    Legantmar
    Хранитель
    435 pts

    посмотрел твой скрипт, могу дать несколько советов
    1) оптимизируй или перепроверь вложенные циклы for for
    2) создай простой тестовый файл с электрическими цепями (буквально пару тройку нужных элементов), попробуй запустить свой скрипт и посмотреть, где происходит зацикливание (лишние проходы)
    3) отключай фрагменты скрипта и выводи переменные после циклов
    4) используй библиотеку time для оценки времени выполнения фрагментов кода
    from time import time
    tic = time() # время для начала отсчета
    твой фрагмент кода
    toc = time() # время в конце
    OUT = toc – tic # разница времени – затраченное на твой фрагмент кода

Просмотр 5 сообщений - с 1 по 5 (из 5 всего)

Для ответа в этой теме необходимо авторизоваться.