Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Почему так долго? Добавлено: 04.05.09 16:49  

Автор вопроса:  Sergey

Ответить

  Ответы Всего ответов: 30  

Номер ответа: 16
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #16 Добавлено: 06.05.09 02:37
Ну я жутко благодарен за предоставленную мне возможность поспорить.

Ответить

Номер ответа: 17
Автор ответа:
 Sergey



Вопросов: 39
Ответов: 87
 Профиль | | #17 Добавлено: 06.05.09 09:11
Скажите мне! Если использовать API, то время создания можно получить быстрее, чем GetCreationTime?

Ответить

Номер ответа: 18
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #18 Добавлено: 06.05.09 10:12
Теоритически - да.

В GetCreationTime идет несколько проверок, несколько вызовов более "глубоких" функций.

Но эту разницу ты вполне реально можешь не заметить, так как 99.9% времени займут операции с диском, которые будут выполняться относительно бесконечно долго, хоть ты напрямую вызовешь функцию Win32API, хоть вызовешь метод .NET-класса, который в свою очередь вызовет Win32API.

Ответить

Номер ответа: 19
Автор ответа:
 Sergey



Вопросов: 39
Ответов: 87
 Профиль | | #19 Добавлено: 06.05.09 10:31
То есть ускорить это никак нельзя?

Ответить

Номер ответа: 20
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #20 Добавлено: 06.05.09 10:43
Если тебе реально нужно куда-то гнаться, попробуй вариант с АПИ. Как говорил один человек, "Иногда я не прав".

Если захочешь еще быстрее - ставить быстрые диски и дисковые массивы, ставить много памяти для кеша данных с диска.

Ответить

Номер ответа: 21
Автор ответа:
 Sergey



Вопросов: 39
Ответов: 87
 Профиль | | #21 Добавлено: 06.05.09 11:34
Я не админ сервера, не могу ничего ставить. Значит программно скорость сильно не увеличишь...

Ответить

Номер ответа: 22
Автор ответа:
 Sergey



Вопросов: 39
Ответов: 87
 Профиль | | #22 Добавлено: 06.05.09 11:35
Файлы находятся на удаленном сервере, с которым связь по каналу 2Мбит.

Ответить

Номер ответа: 23
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #23 Добавлено: 06.05.09 11:36
"в лоб" возможно и не увеличишь.

Но если идти обходными путями, то скорость можно серьезно увеличить до неприличных значений.
Рассказал бы какая задча стоит, можно было бы что-то посоветовать.

Ответить

Номер ответа: 24
Автор ответа:
 Sergey



Вопросов: 39
Ответов: 87
 Профиль | | #24 Добавлено: 06.05.09 11:52
1.Мне нужно получить время всех файлов в расшаренной папке на удаленном сервере. Локально прога работает мгновенно.
2.Сравнить, входит ли полученная дата в диапазон нужных дат.
3.Если входит, то вывести имя этого файла.

Ответить

Номер ответа: 25
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #25 Добавлено: 06.05.09 11:55
Ну вот видишь, оказыается тормозом даже не диск является а сеть.

Можно, например, написать службу, которая локально будет выполнять нужные дейсвтия и отдавать уже результат клиентам. Чем такой вариант не подходит?

Ответить

Номер ответа: 26
Автор ответа:
 Sergey



Вопросов: 39
Ответов: 87
 Профиль | | #26 Добавлено: 06.05.09 12:03
Я уже подумываю об этом...

Ответить

Номер ответа: 27
Автор ответа:
 Sergey



Вопросов: 39
Ответов: 87
 Профиль | | #27 Добавлено: 06.05.09 12:59
Steel Brand, а ведь можно получить имена и время создания с помощью простой команды DIR в CMD, выгружая все это в файл!!! И работает секунды!!!

Ответить

Номер ответа: 28
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #28
Добавлено: 06.05.09 15:03
FAT32 хранит файловые записи в порядке добавления, а NTFS в алфавитном порядке. Индексы по датам не строятся, так что логарифмическую сложность имеет только получение файловой записи по имени на NTFS, следовательно, ничего быстрее последовательного перебора для интервала дат нет. Ждем WinFS :)

Ответить

Номер ответа: 29
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #29 Добавлено: 08.05.09 00:22
Sharp, насколько я помню, WinFS закрыли несколько лет назад и я не слышал о каких-либо продвижениях в этой области...

Ответить

Номер ответа: 30
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #30
Добавлено: 08.05.09 16:54
MS закрыла, опенсорс откроет. Так что ждем :)

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам