Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Autorun 
Author Message
Loopback



PostPosted: Mon Sep 29, 2025 00:08    Post subject: Reply with quote

yozhik wrote:
Такая вот загрузка редко используемого как то влияет негативно на работу в TC? Ну, там скорость загрузки или память «забивает» — это я не сам придумываю, просто слышал от других, что, мол, «лишний балласт», то, сё. А в реальности как? Насколько такой подход к решению моей задачи целесообразен, практичен, экономен?

В принципе, естественно, влияет и на скорость загрузки, и на потребляемую память. Время требуется для парсинга, а то что отпарсилось занимает некоторое количество памяти.

Насчет точной количественной оценки как-то не задумывался, но структура скрипта в памяти будет занимать несколько больше, чем исходный текст. Вопрос только насколько больше. Например, условие If..else..endif занимает 36 байт в х86 и 64 байта в х64, For..Next - 40 и 72, пользовательская функция 64 и 112 соответственно и т. д. По 16/24 байта занимают место переменные (впрочем, они создаются только при вызове функции, поэтому их можно не считать). Всё это, конечно, не считая длины строк (которые в свою очередь UTF-16): литералов, выражений, имён и значений переменных и т. д.

Например, размер памяти для кода из поста выше

Code:
If bEverything And StrPos(FileGetAttr(Target), "D") Then SendCommand(2002)


я бы оценил где-то в 166/194 байт, при размере исходного текста 74 байта в ANSI или 148 байт в UTF-16. Думаю, не будет большой ошибкой считать объем памяти в 1.5-3 раза больше размера исходного текста (самая большая разница, если он в ANSI).

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

Ну а влияния на скорость работы TC после загрузки неработающие функции не оказывают.
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group