Массив переменных значений по случайному индексу.

Сверх скоростная обработка строк в CMD интерпретаторе.

[ x ] запретить сбор данных ...

В начало :: Карта сайта :: Быстрый поиск

Авторский сайт ТехСтоп Екб Ру :: Инфоблог

Погода :: Трасса :: Авто :: Радио
Компьютер :: Программы :: Спутники
Электрика :: Диагностика :: Сервис и ТО


Как ушатать BAT / CMD интерпретатор. Горе от ума ))) ...

Сегодня я хочу рассказать, как мне удалось снести с катушек выполнение программного сценария BAT / CMD интерпретатора командной строки Windows 7 - при абсолютно исправном коде ))) ... Дело было - так ... Мне понадобилось нагенерить несколько автоматических строчек случайного, но связанного содержания, из предварительно отселектированных текстовых файлов A B C .txt, содержащих соответственно 190, 253 и 198 строковых записей ...

Конечно, можно было их жестко загнать в локализованные переменные !Axn! !Bxn! !Cxn! связанного режима времени выполнения SetLocal EnableExtensions EnableDelayedExpansion - прямо внутри кода скриптового сценария ... Но - не в этот раз : лень надавила на кнопки нейронов ума, и заставила мозг придумать более изящное решение опроса строк текста и заполнения ими - переменных ... Единственной виртуальной рабочей конструкцией, в этом случае, является - массив ...

В BAT / CMD массив не задаётся явной командой, представляя из себя последовательность данных, сгруппированных по имени переменной и её порядковому индексу ... Соответственно, заполнение массива - идет по счётчику и в цикле ...


REM Инициализируем счётчик ... 
	SET Ai=0 
REM Запускаем цикл опроса ... 
	FOR /F "tokens=*" %%A IN (A.dat) DO (
REM Для каждого шага итерации - увеличить счетчик ... 
		SET /A Ai+=1
REM Инициализировать переменную по индексу счётчика и заполнить значением ... 
		SET "mAst[!Ai!]=%%A"
REM Продолжить шаги итерации - до последней строки в файле ... 
)

Массив успешно создан и удобно расположился в оперативной памяти ... Минимум кода в скрипте ... Максимум удовольствия ))) ... Следующий этап - взять случайную строку и вставить ее в предложение, то есть - получить рандомные слова по индексу массива слов ...

!Ai! - переменная уже знает количество всех строк в массиве ...
SET /A RndA=!RANDOM! %%!Ai! +1 - вот это уже сложная конструкция ))) ... ключ /A побуждает установщик SET вычислить случайное значение !RANDOM! , в диапазоне ограниченном значением !Ai! (190) , делением с остатком %% и всегда больше нуля - параметр +1 ... Такая вот сложнейшая команда - делает простейшую вещь - генерирует случайный индекс строки в файле, полное содержимое строк, которого - заранее неизвестно и в любое время - может быть произвольно модифицировано, без последствий на будущие вычисления ...

Это - очень хорошо ... Плохо - другое : не получается получить значение массива A строки !mAst[!RndA!]! - по случайному индексу ... Нет, реальное значение переменной !mAst[5]!= пожалуйста, а виртуальное - извините ))) ...
mAst - это имя переменной, кодирующее сокращение понятия : массив A строка ...

При этом, метод опроса переменных массива, с переменным индексом, в цикле - остаётся работоспособным ...
Команда FOR /L %%K IN (старт, степ, стоп) DO ... - в качестве шага точки может принять - и переменное значение ...
И, вот в этом месте, я допустил ужасную ошибку ... Понимая, что : зная значение виртуального рандомного индекса, чтобы узнать соответствующую ему строку - мне незачем перебирать весь ряд, от 0, +1, и до !RndA! ...
Например, если !RndA! =47 ... то мне нужно опросить диапазон от !RndA! -1 до !RndA!, с обычным шагом = 1 ... (46,1,47) ... Таким образом, достигается - небывалое ускорение обработки программного кода ...


REM Инициализируем переменную начала итерации цикла ... 
	SET /A Stt=!RndA!-1
REM Извлекаем из массива случайную строку по рандомному индексу ... 
	FOR /L %%K IN (!Stt!,1,!RndA!) DO SET OutA=!mAst[%%K]!

Используем полученное слово / строку !OutA! - по требуемому назначению ... Описывать, этот процесс, дальше - уже неинтересно ; теперь - это обычная переменная с фиксированным значением, как a=5 или b=world ))) ... Интересен, был - лишь факт определения её значения ...

Теперь, расширяю секцию кода, чтобы получить четыре случайных слова из списка ... И, саму секцию - повторяю ещё трижды ... А - вру ... четырежды ... Таким образом, имеется ...
три массива A B C, общей численностью 641 строка + ещё массив D на 160 индексов = всего 801 вариант ...
Четыре счетчика ... Четыре перезаписываемых рандомных числа и 16 фиксированных выходных словоформ ... При этом, чудесным и замечательным свойством этой организации текстового генератора является то - что входные списки слов можно изменять произвольным образом ... Менее 1000 переменных, что для компьютера - не должно являться большой проблемой, тем более, явно указав сокращённый диапазон опроса цикла, по идее - должна высвободиться куча памяти и процессорного времени ...

Первые испытания проходили через запуск с флешки и до третьей попытки показывали валидные результаты ... Но, как только значение вывода алгоритма увеличилось до 10 ... А, к слову сказать - планировалось сгенерировать 1000 файлов по 4 предложения ... То, уже на первой десятке - начались неустойчивые сбои в работе генератора фраз, проявляемые, как : продолжение работы кода на экране, но без записи выходных файлов на флеш ...

Первое мнение, было : флешка не успевает за сверх скоростной обработкой интерпретатора CMD и - отваливается ... Тогда - генератор был перенесён на современный высоко скоростной SSD диск, эксперименты были продолжены, но - с тем же неадекватным и непрогнозируемым результатом ... При каждой следующей попытке могло быть записано 10, затем 6, в следующий раз 35 файлов, и далее - происходил срыв / отказ записи файлов на диск, без любых уведомлений о неисправности ))) ...

Тогда я разбил алгоритмы A B C D генерации - по отдельным скриптам и сделал один общий стартующий синхронизирующий файл, который каждый раз открывал скрипт на исполнение - в отдельной новой копии CMD, с завершением, и повторной загрузкой соответствующего массива - каждое следующее открытие ... Таким образом, я добился распределения и разделения выделяемой памяти новым копиям запускаемых сред CMD интерпретаторов и более устойчивой их работы, с некоторым естественным падением в скорости обработки данных ...

Единственной причиной отказов - я предполагал сбои в самом BAT / CMD интерпретаторе : либо он не успевал обрабатывать таблицы ссылок на переменные, либо - не успевал устанавливать селекторы регистров вслед за неожиданно быстрой обработкой CPU ... Поэтому, сам код скрипта - работал на экране, а зависимости, связанные с файловой системой ввода / вывода - отваливались ...

Ранее - я никогда не задавался вопросом, насколько принципиально большая разница между DOS и CMD окном командной строки, в количестве переменных, в объёме выделяемой оперативной памяти, во времени тайм-аутов работы с драйверами дисковой системы ... Думаю, что копать нужно - в этом направлении ... Однако, разделив цельный алгоритм на логические части - общая работоспособность была восстановлена, и ожидаемый результат - получен тютелька в тютельку ))) - так, как это и было запрограммировано ...

Но, именно, столкнувшись с таким нестандартным поведением - я в принципе узнал про неочевидное поведение команд CMD, о котором расскажу в следующей статье ...

Список всех страниц, раздел computer : смотреть онлайн бесплатно, интересное - надо посмотреть ...


Диагностика автомобиля.

Автодиагност визитка, компьютерная диагностика двигателя автомобиля, грузовика. Отечественные и импортные ... Быстрое чтение кодов ошибок DTC ... K-Line. ELM 327. ОБД. EOBD. MOBD. USA OBD. JOBD ... Рекомендации ... Подробнее ...

computer, bat-cmd-fast-algorithm. QR Code ссылка, куар код кюар.


Уголок автолюбителя ... Авто транспорт ... Информация ... Камаз, KAMAZ ... Фотон, Foton ... Isuzu Bus [CDP trucks] ... Citiport ... Novo ... Novociti ... Turquoise ... Visigo ... Vauxhall [CDP car] ... Adam ... Agila ... Ampera ... Antara ... Ascona ... Astra ... Belmont ... Calibra ... Cascada ... Combo ... Carlton ... Corsa ... Crossland ... Cavalier ... Frontera ... Grandland ... Insignia ... Kadett ... Karl Viva ... Meriva ... Mokka ... Movano ... Nova ... Omega ... Senator ... Signum ... Sintra ... Speedster ... Tigra ... Vectra ... Vivaro ... Zafira ... Другие машины и услуги ...


Популярные ссылки.

На трассе М-4 как погода от Яндек ... Как с погодой на магистрали М-4, альтернативный прогноз от Яндекс. Сайт луч ...

На трассе М-4 как погода от Яндек ... Как с погодой на магистрали М-4, альтернативный прогноз от Яндекс. Сайт луч ...

Chip List. Список чипов ВЧ CВЧ ус ... Список чип радио компонентов. ВЧ усилитель МГц, ГГц. Диапазон, усиление, ча ...

Калькулятор КПП оборотов скорости ... Обороты колеса. Мост. Передаточные числа КПП коробки передач, Ratio. Правил ...

Список команд Shell UEFI. Устройс ... Список доступных команд в Shell оболочке командной строки UEFI BIOS. Проток ...

Мульти функциональный софт. Проги ... Программы для модернизации малолитражек. Многофункциональный софт. Иммобила ...

ИИ соцсети, чат, блог, подкасты. ... Инструменты для авторов соцсетей. Яркий профиль в социальных сетях. Быстро ...


Новости РУ СМИ, сводки.

2022-11-03 ...

... Например, высоко эффективные антенны серии TP рассчитаны для работы в поддиапазонах МГц : 136 – 174 и 400 – 500 ...

2023-11-27 ...

... Я бы не стал называть эту ситуацию - действительным открытием, так как специалисты в России, освоившие смежные специальности - всегда были в цене ... Но, на фоне дефицита рабочей силы и рекордно низкой безработицы, у компаний - резко вырос спрос на многозадачных сотрудников ... Это фиксируют данные исследований трудового рынка : Минэкономразвития, Росстата, HeadHunter, Superjob и других рекрутинговых платформ найма на работу ... К сожалению, рост зарплат таких специалистов - не может похвастаться подобной динамикой, и среднее увеличение ЗП составило +2% - +10% в 2023 году ...

... Другой опрос, по всей России - показал, что каждый второй сотрудник - ожидает повышения зарплаты в 2024 году ... В этом вопросе, трудовые мнения работников и работодателей, действительно - сходятся ... Эксперты рынка прогнозируют рекордный рост зарплат за последние годы ...

2024-01-26 ...

... Но ещё многие врачи продолжают утверждать, что кефир помогает имунной системе ... Что ? ... Ожирение от кефира ? ... Не-ет, не может быть ! ... И, лишь некоторые - задаются вопросом : а, из чего, собственно, ваш кефир - был изготовлен ? ... (из личного опыта) ...

Смотреть все самые интересные новости последних дней, недели, месяца ...

Новые страницы сайта.

22:27 29.02.2024 Послание В. В. Путина - ФС. Главное. Кратко. Суть. ... IndexNow : Y222729022024 , B222729022024 ...

17:34 28.02.2024 Announce torrent tracker list 2024. Crazy load speed.

22:13 23.02.2024 Как SVG файл открыть в браузере. Плагины. Программы.


Кратко полезное.

ai writey.ai ...

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

Подробнее : Каталог ИИ инструментов, ассистентов и помощников ...

ai scribbr.com ...

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

Подробнее : Каталог ИИ инструментов, ассистентов и помощников ...

ai dallelist.com ...

... генератор изображений Dalle E2 ... ввести промпт, а затем добавить модификаторы ... медиумы, художники, фотографы, дизайн ...

Подробнее : Каталог ИИ инструментов, ассистентов и помощников ...


СоцСети, вход моя страница.

Cоциальная сеть, моя страница, поиск, вход без регистрации, знакомство без пароля, войти бесплатно ...

Разрешенные соцсети в РФ : ... VK, вконтакте, общение и поиск друзей ... ОК, одноклассники, найти старых друзей по школе, учёбе, службе и работе ... t.me, telegram, система мгновенного обмена сообщениями, текст, голос и видео ... Youtube, популярный видеохостинг ...

Запрещенные соцсети в РФ : ... Твиттер X, сервис микроблогов и социальная сеть ... Фейсбук, общение с друзьями, родственниками и сослуживцами по работе ... Инстаграм, сеть обмена фото видео для мощных и уверенных, в себе, людей ... [инстасамцов и инстасамок] - шутка ))) ... ЛинкедИн , сеть профессиональных контактов по работе, деловой имидж в бизнесе ...


techstop-ekb.ru © ТехСтоп, Екатеринбург, Россия. 2024.