· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.WIN32 —› Правильно писать CommandLine procedure...

<< . 1 . 2 . 3 . 4 . 5 .

Посл.отвђт Сообщенiе


Дата: Авг 6, 2003 13:01:20

Four-F
Во-во, лучше по размеру!!!


Дата: Авг 6, 2003 15:38:08

[ Four-F: Командная строка парсится всего один раз за время жизни процесса! Так что забей на оптимизацию по скорости.]

Если только этот процесс не стартует несколько раз, например
при какой-нить пакетной обработке...


Дата: Авг 6, 2003 16:28:05

Ну так и каждый раз каждому экземпляру процесса передается своя командная строка. И он все равно должен ее пропарсить, но только один раз. А для другого экземпляра процесса эта строка не имеет никакого смысла.


Дата: Авг 6, 2003 17:01:57

Да..., но если эта процедура будет длинная, при обработке 1000 файлов
в сумме выльется в немалое количество времени вся эта операция...


Дата: Авг 6, 2003 17:22:40

Asterix
Ты мне лучше приведи пример такого :))


Дата: Авг 6, 2003 17:33:11 · Поправил: Asterix

Гы, мне нужно было такое...
вот.

p.s. а сайт что по-прежнему флудят? Я что-то с трудом прорываюсь
по ссылкам..., браузер не хочет открывать странички...


Дата: Авг 6, 2003 17:40:36

Asterix
Да, нет у меня всё ОК


Дата: Авг 6, 2003 19:08:12 · Поправил: Four-F

[ Asterix: Да..., но если эта процедура будет длинная, при обработке 1000 файлов
в сумме выльется в немалое количество времени вся эта операция...
]

Конечно это верно, но...

Во-первых, для утилит, которые чего-то там конвертируют, такой режим не часто нужен. Чаще как раз по одному файлу конвертят.

Во-вторых, Отношение полезного времени на собственно конвертирование чего-то там ко времени на разбор командной строки стремиться к бесконечности. Поэтому, тратя время на оптимизацию разбора командной строки по скорости, ты в этой самой скорости практически не выигрываешь.

Т.е. в общем случае здесь именно по размеру надо оптимизировать. К тому же эту процедуру можно потом к другим прогам прикручивать. И только если заранее известно, что утилита будет применяться только в пакетном режиме и время полезной конвертации мало, то тогда можно и скорости уделить внимание.

Вроде, логично.


Дата: Авг 21, 2003 12:53:23

а как вам такое:
ParseCmdLine proc uses esi lpCmdLine:DWORD
  mov    esi,lpCmdLine
  find_bkslash:
    lodsb
    cmp    al,2Fh
    je     found_bkslash
    cmp    al,0
    jne    find_bkslash
  found_bkslash:
;  дальнейшая обработка
  ret
ParseCmdLine endp

вроде кода меньше...

<< . 1 . 2 . 3 . 4 . 5 .


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.076