MoveFileEx-Холиварный вопрос :)

Тема в разделе "WASM.BEGINNERS", создана пользователем coocky, 1 фев 2008.

  1. coocky

    coocky New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2007
    Сообщения:
    195
    Привет. Зашел тут спор,но по работе,а не просто так. Что ж быстрее будет выполнятся
    -
    DeleteFile(destination);
    MoveFile(sources,destination);

    или MoveFileEx (sources,destination,MOVEFILE_REPLACE_EXISTING);

    Анализ через время выполнение или FileSpy ничего не дали.Разве что больше обращений к файлу на первом варианте.
    Но насколько это критично-не понятно,хотя для отладки первый вариант лучше :)
    Что думаете,как ведет себя винда при MoveFileEx,ведь даже с точки зрения native api-это одна функция.. :)
     
  2. Magnum

    Magnum New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    925
    coocky
    Создаете миллиона 4 файлов
    и запускаете программу на определенное время

    вот какой алгос удалит больше файлов - тот и быстрее ))
    а так... что гадать...
     
  3. nobodyzzz

    nobodyzzz New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2005
    Сообщения:
    475
    MoveFile и MoveFileEx в итоге скатываются к одной и тойже функции в kernel32 MoveFileWithProgress. Посему второй вариант должен быть быстрее, ну хотябы вызовов гораздо меньше получается.
     
  4. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    coocky
    Ты же сам писал
    А раз обращений к файлу больше, то и времени потребуется больше, т.к. эта операция совсем не быстрая.