Yes, you should install this package in your operational system context (like "npm install...." from windows cmd). After that, you can execute CLI commands from anywhere, including BAS.
Зависание bas при создании овер много строк без таймаута
-
Ребята кто что думает если мы создаем строки в цикле в одном потоке, выполнения = 300 000
то бас при работе зависает намертво но с задачей справляется.
Кто изгалялся в этом вопросе?
если таймаут юзать то работает дольше ну а без таймаута скорость зависит уже от железа
но хотелось бы чтобы окно баса не зависало. Есть мысли предложения? -
тестируется где ? в дебагере или в запуске.
куда и как строки создаются ? может стоит юзать ресурсы , а не списки ? и т.д. Тут пример нужен, а не догадки. -
@out в цикле, один поток успшных и ошибочных = 1, сгенерировать случайную строку и запись в файл, цикл от 1 до 300 000.
ресурс ненужен тут нужно именно в файл строк накидать и все.
в запуске, в записи все нормально работает так как время на отрисовку уходит. а в запуске окно баса на мертво весит до тех пор пока 300 000 строк в файл не накидает.
Это особенность баса, есть софты которые работают с строками и т.д кодеры делают как-то то изолируют форму от выполнения то есть во время выполнения форма софта не зависает. а тут бас замирает пока железка не отработает.Да банально можно воспроизвести вот так: одно действие вывод в лог и запустить выполнение 100 раз, бас зависает и далее вылетает. Типо эффект узкого горлышка.
-
такая проблема, когда интерфейс виснет по время работы софта, только у однопоточных приложений, БАС под это описание не подходит.
Думаю проблема как-раз таки в том, что запись идет сразу в файл, каждую строку. Т.е. нужно обратится к файлу 300к раз. А если бы использовался ресурс, то к файлу было бы всего несколько обращений (все остальное время, данные были бы в оперативке) -
Тоже так же зависает, вот пример с ресурсом (ресурс создаеться в оперативке) пример в цикле генерит лям строк после чего закидывает ресурсы в список и список сохраняется в файл
0_1511929295359_srtroka.xmlминус этого способа что оперативку начинает отжирать когда строки в ресурсе копятся и симптомы остаються те же.
в ресурсе интервал между использованием что 1 что 10000 разницы нет.
перед записью поставил спать 1000 в это время бас отвисает что указывает на то что зависание формы происходит во время генерации строки и записи ее в ресурс.
Так что парни ваши предположения не верны. -
@Alexx ок, тогда юзай это решение 0_1511958115024_1511929300297-srtroka.xml
1кк строк генерится 4сек, вместо 50сек. Да, интерфейс тоже при этом "подвиснет", но всего лишь на 4сек.ps: 1кк строк в процессе сожрет около 300мб RAM, но если оперативки жалко, можно писать каждую строку сразу в файл или к примеру каждые 10к.
-
@out said in Зависание bas при создании овер много строк без таймаута:
@Alexx ок, тогда юзай это решение 0_1511958115024_1511929300297-srtroka.xml
1кк строк генерится 4сек, вместо 50сек. Да, интерфейс тоже при этом "подвиснет", но всего лишь на 4сек.ps: 1кк строк в процессе сожрет около 300мб RAM, но если оперативки жалко, можно писать каждую строку сразу в файл или к примеру каждые 10к.
да решение шустрое, благодарю за код
-
еще советую, после записи строк в файл, очистить список, чтобы освободить память.
-
@out, а почему у меня такой огромный интерфейс в твоем проекте?
http://prntscr.com/hgtam1Это как-то настраивается?
-
да, масштаб можно менять http://ipic.su/img/img7/fs/kiss_40kb.1511964717.jpg
это для HIDPI экранов. -
@out, круто, спасибо. Стало удобнее!