Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как правильнее чиать файл 
:(
    Опции темы
iff
Дата 18.3.2012, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: -1
Всего: 16



Обработка файла производится по символьно.
Например:
Код

Open "file.txt" For Input As #1
Do Until EOF(1)
    X = Input(1, #1)
    '...
Loop
Close #1

Получается файл считывается посимвольно. Будет ли более правильно считывать не каждый символ по одному а некоторую порцию (напрмер 1 Кб), а затем еже ее обрабатывать посимвольно?
Или же это не имеет значени? - Может быть VB считывает порцию в свой буфер, а когда производится чтение по одному байту, он просто достаёт его из буфера, а когда тот заканчивается сново читает порцию.


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
Akina
Дата 18.3.2012, 13:35 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(iff @  18.3.2012,  14:20 Найти цитируемый пост)
Может быть VB считывает порцию в свой буфер

Да.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
vbCrLf
Дата 18.3.2012, 13:38 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 3.5.2006
Где: Севастополь

Репутация: 1
Всего: 1



Я думаю, что для выяснения данного вопроса вам стоит написать и прогнать тесты чтения и обработки двумя способами и банально замерить результаты.
Часто они видны невооруженным взглядом.
Я сам так поступаю, когда у меня в голове есть два разных способа реализации, и мне нужно выяснить, какой из них оптимальнее.

P.S. Когда я сталкивался с похожей ситуацией - быстрее работал код, который читал файл или его фрагмент в массив байтов, и в дальнейшем я работал с этим массивом, чем когда я работал с побайтовым чтением.

Это сообщение отредактировал(а) vbCrLf - 18.3.2012, 13:40
PM MAIL ICQ   Вверх
iff
Дата 18.3.2012, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: -1
Всего: 16



Спасибо за ответы


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
Akina
Дата 18.3.2012, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(vbCrLf @  18.3.2012,  14:38 Найти цитируемый пост)
думаю, что для выяснения данного вопроса вам стоит написать и прогнать тесты 

Чтобы понять, как выполняется чтение, достаточно просто замониторить обращение к файлу через procmon или аналогичную утилиту. Ещё лучше - попробовать на разделах с различающимся размером кластера, а также посмотреть, как выполняется чттение, если берётся один байт из середины большого файла. Очень любопытные получатся результаты...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0906 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.