zubastiy |
|
Темы:
136
Сообщения:
548
Участник с: 18 сентября 2009
|
NatrioДа. Забыл про while не подскажете еще - корректно ли будет считать c помощью awk ‘{a+=$1}END{print a} для каждой “порождаемой” (форкнутой - будет правильно называть?) функции подсчета? или нужно для каждой функции считать с помощью уникальных переменных? типа первая функция подсчета awk ’{a+=$1}END{print a} вторая awk '{b+=$1}END{print b} #!bin/bash -x |
Natrio |
|
Темы:
48
Сообщения:
4771
Участник с: 08 января 2011
|
Я уже говорил, что не хакер :) Так что в awk я не разбираюсь, увы. Если awk может сложить заданные числа из потока вывода цикла – то пускай складывает. И поместить это всё можно прямо в функцию, после цикла, то есть done | обработка |
zubastiy |
|
Темы:
136
Сообщения:
548
Участник с: 18 сентября 2009
|
Natrio У меня были сомнения, что переменные используемые в подсчете результатов не будут уникальными для каждого процесса awk Вынес подсчет вообще за рамки скрипта, все равно все ответы выводит в один stdin , вот пусть один экземпляр awk и считает В целом скрипт считает отлично, скорость подсчета в 4 раза против линейного подсчета. |
Natrio |
|
Темы:
48
Сообщения:
4771
Участник с: 08 января 2011
|
У одновременного вывода несколькими процессами в один поток есть одна проблема – строки могут перебивать одна другую посередине, как это иногда происходит с выводом в консоль от одновременно запускающихся демонов. Что касается переменных – конечно, переменные у каждого процесса свои, только дочерние наследуют копии родительских на момент запуска. |
zubastiy |
|
Темы:
136
Сообщения:
548
Участник с: 18 сентября 2009
|
Natrioтак и вышло. в случае выноса подсчета за предела скрипта - результат подсчета на порядок больше получился. поставлю писать в файл для каждого потока, можно будет потом перепроверить колво ответов и запросов чудно получилось писать в файл, считает чуточку быстрее чем если ставить функцию подсчета. вообще curl умеет в одном соединении передавать запросы и если сделать вот так echo `sed -n “$i,$((i+S))p” $1` | xargs curl -Isто curl примет в качестве аргумента сразу все ссылки. вопрос только пережует ли curl столько аргументов )) вот и узнаю. PS принимает, подсчет работает медленее. жрет весь проц. |