Блог пользователя merkator

Автор merkator, 13 лет назад, По-русски
Не далее как сегодня мне понадобилось написать стресс тест, находясь под системой Ubuntu. Если в винде я писал батники, то что (и главное как) писать в убунте?

Буду благодарен всем вариантам.
  • Проголосовать: нравится
  • +6
  • Проголосовать: не нравится

13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Согласен, что bash - полная замена batch, но вдруг есть другие способы.

    freopen, спасибо. Я почитаю про bash.
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Когда мне нужен стресс тест, я иногда его пишу на C++ встраивая в правильное, но медленное решение с помощью команды system. Наверняка аналог system есть почти под все компиляторы.
      • 13 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
        system есть.
        Т.е. вы просто в той же программе генерируете 2 ответа? И зачем тогда system?
        Просто падаем assert'ом и все...
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Нет, в двух. Первая - проверяемое решение. Вторая - эталонное + чекер. Я стараюсь проверяемое решение не портить лишний раз.
13 лет назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится
You can use script written in Bash.
You need to create a file (for example stress.sh), insert script inside and then make it executable from the command line with the following command:
chmod +x stress.sh
After all you can run it as: ./stress.sh
The script stops when output files differ.
You can use your own checker instead of diff, it should return exit code 0 if everything is ok and non-0 otherwise.
If you need more info on bash syntax you can always use: man bash :)
  • 13 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится
    Thanks a lot. I russian version I've already got this answer (to use bash), but your is more useful =)
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Write a TCL script :)
13 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Я тоже пользуюсь system; Достаточно удобно. Но если очень 
хочется скрипт, тогда что-то типа такого:
[code]
#!/bin/bash
for((i = 0; i < 1000; i++)); do
./gen > input
./bad < input > ans
./good < input > output
./check input output
done;
[/code]

gen - генератор тестов,
bad - медленное решение
good - нормальное решение
check - чекер