виндоуз
dibr — 21.12.2022 Автоматическая генерация текстового файлика размером примерно 2000 строк. "Генератор" по историческим причинам был написан на "языке батников" (изначально оно запускалось на старой и "голой" (без средств разработки) винде, при этом предполагалось что генератор будут иногда править). Когда-то давно, когда и сам батник, и выходной файлик были намного короче, а винда была то ли XP, то ли вообще 2000, время работы батника было небольшим - секунда-две, но шло время, батник разрастался и усложнялся, параллельно апдейтилась винда и апгрейдился комп, и сейчас батник работает секунд двадцать: достаточно долго чтобы это несколько раздражало, но недостаточно чтобы собраться и переписать его на каком-нибудь нормальном языке. Внутри батника - несколько циклов FOR /L (не вложенных), кучка команд SET /A, ну и основная часть - пара сотен ECHO !something! >> OUTPUT.FILE, которые, будучи завёрнуты в циклы, и генерируют эти самые 2000 строчек. Ну... "язык батников" никогда не был быстрым, всё-таки он мало того что чисто интерпретируемый и не заточен на то, что я с ним делаю, так и ещё и древний как оригинальная айбиэм писи, так что может оно и нормально что так долго. Хотя, 20 секунд на 2000 строчек на процессоре i9 с частотой 3.7GHz... немного медленновато, на одну строчку получается по 37000000 тактов процессора, "чем он там занят вообще".А буквально на днях я заметил, что если отключить встроенный в винду антивирус (тот, который "защита от вирусов и угроз"), этот батник пролетает меньше чем за полсекунды, так что я не успеваю засечь время. И мне любопытно - это потому что ихний антивирус 2000 раз проверяет, не поселился ли вирус во встроенной виндовой команде ECHO, или он каждый раз проверяет, не дописал ли я при помощи этого ECHO вирус в выходной файл (имя без расширения, т.е. с точки зрения винды исполняемым быть вроде бы не должен)?
В общем, виндоуз - он и есть виндоуз.
|
</> |