Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
ты предлагаешь потом еще и переменую парсить в еще один массив?
Добавлено (24 Октябрь 2010, 23:57) ---------------------------------------------
Quote (DEMBEL)
видимо ты редко пользовался FileToVar
да нет, как раз наоборот... Одно заню точно, лучше делать обращение к файлу, чем создавать лишние массивы, от них точно медленее все и размер процесса растет
после работы ненужные переменные обнулять. ничего не медленнее, пока он к диску обратится в нужном месте, в памяти больше операций можно успеть сделать Как задавать вопросы
Помнишь, я делал математическую преблуду 3*15, так вот там тоже делал массивы из данных, как у Snow_Irbis только их было поболее. Так вот после 20 массива НБ оч.медлено обрабатывала, решил потом в файл перегонять по строчно и также оттуда брать. Стала шустрее работать, но все равно не то....
Добавлено (25 Октябрь 2010, 00:08) --------------------------------------------- Плохо, что НБ не удаляет массив по индексу, т.е. неможет удалить например пункт массива 2,4,6, если назначить командой удалить 3, то удаляет не 3 по индексу, а все 3
Добавлено (25 Октябрь 2010, 00:09) ---------------------------------------------
Quote (DEMBEL)
ну щас я попробую с твоим выложенным файлом такую штуку проделать, и сравним что быстрее.
ну давай, только масивов и строк добавь, а то 15 это мало
Тест обработки ( по времени ) строк 9608 ( по 26 ячеек в каждой строке ) , конфигурация ПК , ЦП Intel D930 , 4ГГб ОЗУ , HDD WD-250 с 16 Мб кеша , время обработки чуть больше 3 минут , меня устраивает вполне
ПИ Обработку делал посредством запуска программы через дебагер , если запускать скомпиленную программу то время обработки менее минуты
Сообщение отредактировано Snow_Irbis - Пн, 25 Октября 2010, 00:15
могу ошибится в числе, но в массиве из данных такого типа ххххххххххххххх НБ зависла на 80 000, это проверено мной не один раз(один раз на всю ночь оставлял ) Кстати, тоже самое на Делфи: замедлился на 120 000, но за ночь обработал все 300 000 массивов
Добавлено (25 Октябрь 2010, 00:22) --------------------------------------------- потому стараюсь прибегать к большим массивам, когда без них никак
Добавлено (25 Октябрь 2010, 00:23) --------------------------------------------- Что то дембель пропал, походу с эксперементами тачка зависла
Сообщение отредактировано Сергей - Пн, 25 Октября 2010, 00:33
чет я ничего не понял, что работает, где работает, и скрин тогда зачем, ведь ничего не видно(в какое место смотреть там), тогда уж словами
Работает с большим количеством строк и не глючит . Почему не видно ? Количество строк видно , я затер лишь некоторые данные Смотреть на значение переменной ЛЕН
Сообщение отредактировано Snow_Irbis - Пн, 25 Октября 2010, 00:29
ну да, массивы тяжеловесны, еще под них дофига места в ресурсах бронируется. На форуме Алекс очень подробно изложил суть массивов, я до словно не помню, но не так все с ними и просто, как кажется
Quote (DEMBEL)
при массиве таких строк из 100 штук
а как дела обстоят с чтением из файла?
Добавлено (25 Октябрь 2010, 00:59) ---------------------------------------------
Quote (Snow_Irbis)
Смотря с какой точки зрения смотреть
У Петра спроси, я пытался поискать это объяснение, но сори не нашел
На практике получается такое , что в файл data.txt , корректно записываются данные только из переменной [Data1] , данные из переменных [Data2]-[DataN] , записываются не корректно , то есть по окончанию парсинга и записи в файл соответственно в файле data.txt в конце оказывается данные из переменной [Data2]-[DataN] ( в зависимости от того какую я поставил для записи в файл соответственно ) , а все предыдущее строки пусты , хотя если писать данные из переменной [Data1] то все пишет правильно , что я не так сделал или это опять какие то грабли ?
Сообщение отредактировано Snow_Irbis - Пн, 25 Октября 2010, 01:34
ну значит лучше читать строки когда это возможно, хотя чел на оффоруме говорил обратное. А может быть это только с большим обьемом данных проигрыш? если будет десяток строчек а не сто, тогда мож быстрее? надо затестить.
Добавлено (25 Октябрь 2010, 01:38) --------------------------------------------- я тебе который раз повторяю, устраивай дебаг самостоятельно, проверяй ключевые строчки кода вставкой Алертбокса и смотри что показывает. У меня твой код на тестовом файле пишет содержимое [Data8] как TEST8, т.е. все правильно разложено.
Добавлено (25 Октябрь 2010, 01:39) --------------------------------------------- оно же само от себя не напишет ничего, как ты сделал, так и выдает результат.
Добавлено (25 Октябрь 2010, 01:41) ---------------------------------------------
DEMBEL, как я писал выше, если бы НБ умела удалять нужный индекс из отработаного массива, был бы другой результат. Дело в том, что если удалять отработанный пункт массива, то нагрузка непадала и была такой же, как и при старте. Но увы Ты можешь проэксперементировать на вбс или ява, я на них(ну ище Делфи) такое проверял, и при очищении массива нагрузку незаметно.
алертбокс с переменной показывает данные как и должно быть , но при записи в файл переменных [Data2]-[DataN] в файле по окончанию выполнения задания остается только одна последняя строчка распарсенного файла с данными , а все остальные строчки пусты , что тут не так я ума не приложу , ведь если я пишу данные из переменной [Data1] то все пишет так как надо !
ПИ И если в строке FileWrite "[WorkFolder]dat.txt" "[i]" "[Data8]" убрать [i] то тоже пишет все данные но блин через строку
Сообщение отредактировано Snow_Irbis - Пн, 25 Октября 2010, 01:47