Как обрабатывать большой объем данных



  • @Fox said in Как обрабатывать большой объем данных:

    @artihorror Выше я уже писал, что в список у меня за 2 секунды обрабатывает файл, но у @GamiD зависает. В экшене читать файл в список нету побайтовой настройки места чтения. А в ресурс добавлять я предложил для работы в многопотоке.

    оказывается как у тебя у меня тоже не зависает а когда читаешь этот список зависает у меня так же быстро читает этот список я сделал получить первый элемент и вывел в лог и завис сама страница у меня отдельно где конструктор а где лог отдельно изза этого конструктор работал а страница где лог завис



  • @artihorror Это секретный экшен :D
    Проект
    Проект и файл.



  • @Fox, и что это должно сделать? Прочитать файл в ресурс, но не сразу, а по шагам?



  • @GamiD Ещё раз, что и где зависает?
    0_1518525189495_на форум6.gif
    Вот тестовый проект.



  • @Antonio это прочитать файл в список, а потом список запихать в ресурс



  • Явно ощущается нехватка экшенов в разделе "файловая система". Таких как "прочитать первую строку файла" и "добавить строку в файл".



  • @Antonio said in Как обрабатывать большой объем данных:

    @Fox, и что это должно сделать? Прочитать файл в ресурс, но не сразу, а по шагам?

    По факту да, без вкладки ресурсы для работы в многопотоке, это я отвечал возможным вариантом на это:

    @Denis_krsk said in Как обрабатывать большой объем данных:

    @Fox ...Тем более, если вдруг надо в каждом потоке свой экземпляр иметь то 60mb на 100 потоков это уже дофига.

    @Antonio В самом скрипте экшен Читать файл в список записан таким кодом:

    var d = native("filesystem", "readfile", JSON.stringify({value: "C:\u005canswer_databse.txt",base64:false,from:0,to:0}))
       VAR_LIST_WITH_FILE_CONTENT	= (d.length == 0) ? [] : d.split(/\r?\n/)
    

    То есть обычное разделение строки в массив по переносу строку \r\n, но для этого читается полностью весь файл.



  • @Fox, ясно. А может можно свой код сделать, который будет читать файл только до первого переноса строки?



  • @Antonio Первое что приходит в голову, это читать по байтово до первого переноса.. Сейчас попробую..



  • @Fox как ты показал у меня тоже оказывается выводить 2 раза проверил выводить открыл инспектор переменных завис и не получает первый элемент :D



  • @Fox 0_1518529184876_Video_2018-02-13_163904.wmv
    изза этого и раньше я не мог открыть я всегда после получения списка открывал инспектор переменных смотреть получил список он или нет а он зависал и я думал что бас не тянет большие файлы



  • @GamiD Открывать инспектор переменных? Серьёзно? Я уже дааавно перестал им пользоваться. Переменных много, данные разного вида, быстрее вывести в лог нужные данные, чем найти их в инспекторе. Попробуйте такой вариант запустить в режиме запуска или записи.



  • @GamiD В вашем файле ресурсе текст вида:

    Нет\Это твое заднее слово? Давай, лучше, купи ежа, не отказывайся.
    Нет\Сколько тебе лет?
    Нет\Учишься?  :)
    Нет\Продолжайте, продолжайте. Я люблю когда невоспитанные сердятся.
    Нет\часто повторяешь слова "нет" и "да"?
    Нет\Дома тоже прикольно. Можно развалиться на диване под одеялом.
    Нет\О, я читаю мысли! Я так и знал, что вы это скажете! Шучу,шучу!
    

    Возможно использование Spintax уменьшит размер файла.



  • @Fox у меня пока что не большие проекты да и у меня лог и конструктор отдельно изза маленького размера экрана поэтому не удобно в лог смотреть



  • @zeor думаю лучше делать SQL запросами всё, а не блокировками. В свое время делал софт блокировками - заметный проигрыш в скорости получается, особенно когда записей будет несколько тысяч. 6 пользователей каждый обращался напрямую к таблице, 20000 записей и мертвая скорость работы :)


Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.