>Может я открою для вас Америку, но кроссплатформенность никогда не была козырем интерпретируемых языков.Вы про все интерпретируемые языки сразу говорите? Или же хотите рассказать про RAD?
>вы вообще в курсе, что количество ядер может поменяться прямо в процессе работы?
В чём проблема то? Ну поменяется, что плохого случится?
>а) мне не пять лет, на слабо брать не надо
Задача пустяковая, причём тут "на слабо"?
>б) у меня нет желания выполнять за вас вашу работу
Вообще-то я её сделал. Уже лет 5 назад.
Даю её кандидатам на собеседованиях, т.к. при своей простоте позволяет более-менее понять что с мозгами у человека.
>в) задача упирается в IO(в том числе и памяти), смысла в распараллеливании нет.
Элементарно же проверяется:
# find /usr/src/linux-3.7/ -type f -name *.c > filelist
# time egrep '\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b' `cat filelist`
real 0m3.555s
user 0m3.389s
sys 0m0.156s
# time cat filelist | xargs -n4096 -P4 egrep '\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b'
real 0m0.910s
user 0m3.195s
sys 0m0.185s
На единственном sata-диске всё действительно упрётся в i/o.
В там, где такая задача возникла изначально файлы лежали в zip-архивах.
Работы - минут на 10-15.