LINUX.ORG.RU

История изменений

Исправление YAR, (текущая версия) :

Да с чего бы это было б сильно заметно?
я никогда не говорил, что bash на этой задаче может быть быстрее.

Это не «не сильно заметно». Это не «чуть быстрее». Это разница в 200 раз.

и будет скорее всего медленнее

Чем что? 2 последовательных цикла на bash по 3 минуты будут быстрее, чем 0.7 секунды на mawk + 3 минуты на bash? Ну ок.

Не удивлюсь, что bash тормозит

Дальше можно было не писать:

rain@walkbook:~/to_net$ time (cat list | while IFS=: read name surname; do true ; done)

real    2m33,704s
user    1m52,898s
sys     0m41,033s

rain@walkbook:~/to_net$ time (cat list | while read string; do true ; done)

real    1m20,660s
user    0m40,290s
sys     0m40,668s

rain@walkbook:~/to_net$ time (while read string; do true ; done < list)

real    0m34,068s
user    0m28,237s
sys     0m5,816s

rain@walkbook:~/to_net$ time (while IFS=: read name surname; do true ; done < list)

real    1m46,313s
user    1m39,405s
sys     0m6,876s


Когда же у нас задача разбить входные строки на два поля, то применение awk как правило только доказывает непрофессионализм пишущего

mawk
real    0m0,683s

while read string
real    1m20,660s

while IFS=: read name surname
real    2m33,704s


Ну ок.

// Ушел спать.

Исправление YAR, :

Да с чего бы это было б сильно заметно?
я никогда не говорил, что bash на этой задаче может быть быстрее.

Это не «не сильно заметно». Это не «чуть быстрее». Это разница в 200 раз.

и будет скорее всего медленнее

Чем что? 2 последовательных цикла на bash по 3 минуты будут быстрее, чем 0.7 секунды на mawk + 3 минуты на bash? Ну ок.

Не удивлюсь, что bash тормозит

Дальше можно было не писать:

rain@walkbook:~/to_net$ time (cat list | while IFS=: read name surname; do true ; done)

real    2m33,704s
user    1m52,898s
sys     0m41,033s

rain@walkbook:~/to_net$ time (cat list | while read string; do true ; done)

real    1m20,660s
user    0m40,290s
sys     0m40,668s

rain@walkbook:~/to_net$ time (while read string; do true ; done < list)

real    0m34,068s
user    0m28,237s
sys     0m5,816s

rain@walkbook:~/to_net$ time (while IFS=: read name surname; do true ; done < list)

real    1m46,313s
user    1m39,405s
sys     0m6,876s


Когда же у нас задача разбить входные строки на два поля, то применение awk как правило только доказывает непрофессионализм пишущего

while read string
real    1m20,660s

while IFS=: read name surname
real    2m33,704s


Ну ок.

// Ушел спать.

Исходная версия YAR, :

Да с чего бы это было б сильно заметно?
я никогда не говорил, что bash на этой задаче может быть быстрее.

Это не «не сильно заметно». Это не «чуть быстрее». Это разница в 200 раз.

и будет скорее всего медленнее

Чем что? 2 последовательных цикла на bash по 3 минуты будут быстрее, чем 0.7 секунды на mawk + 3 минуты на bash? Ну ок.

Не удивлюсь, что bash тормозит

Дальше можно было не писать:

rain@walkbook:~/to_net$ time (cat list | while IFS=: read name surname; do true ; done)

real    2m33,704s
user    1m52,898s
sys     0m41,033s

rain@walkbook:~/to_net$ time (cat list | while read string; do true ; done)

real    1m20,660s
user    0m40,290s
sys     0m40,668s

rain@walkbook:~/to_net$ time (while read string; do true ; done < list)

real    0m34,068s
user    0m28,237s
sys     0m5,816s

rain@walkbook:~/to_net$ time (while IFS=: read name surname; do true ; done < list)

real    1m46,313s
user    1m39,405s
sys     0m6,876s


// Ушел спать.