кто из нас смешон? HTML: http://216.239.59.104/search?q=cache:DToLCztY8HUJ:www.tiobe.com/tiobe_index/index.htm+%22Programming+Language+Popularity%22&hl=ru&ct=clnk&cd=2&client=opera
[offtopic] Спасибо,поржал PHPoozy: Хм...а то пых под натиском питона, явы и прочего не умрет? или ты сидишь дро^W молишься на пхп6 ? ) ЗЫЖ Думаю, тем кому нужен перл или тем кому тупо удобнее на нем писать - для тех он не умрет Или предлагаешь писать простые скрипты-однострочники на PHP^W быдлоязыках? ЗЗЫЖ Все вышенаписанное лишь личное мнение... [/offtopic]
Гм...ну ты уж определись чтоли похапе или питон.... ) В скором будущем, я думаю, уже не надо будет заморачиваться насчет этого, ибо производительность железа будет такой, что хоть на кубейсике клепай cgi, дело каждого - на чем он пишет, может кому-то удобнее пхп, кому-то перл, кому-то C# итд итп...а вот из-за тебя,как видишь - сплошной оффтоп пошел(или ты просто посты набивал) )) ЗЫЖ А вы, товарищ, как я посмотрю - любитель похоливарить на пустом месте
Sharky, там в самом начале было что-то про оптимизацию, так вот у меня вопрос в связи с этим: "А какая именно часть работает долго? Та что вычисляет ip адреса или что осуществляет подключение?" Соответственно предложение следующее: если долго вычисляются ip-шники, то надо менять код их вычисления! На мой взгляд можно было все это сделать намного проще и передавать в функцию пинг готовый ip. Если вычисляется сравнительно быстро (по сравнению с пингом), то выносить каждый пинг в отдельный поток. Правда, насколько я знаю, потоки действенны, когда их кол-во до 16 штук.
сама генерация ипов вроде быстро проходит...а вот коннекты долго Kaimi они выводятся по 10 штук за раз
А по поводу оптимизации кода: for (my $i=$fip; $i<=$tip; $i++) заменить на for ($fip .. $tip) $ip="$d1.$d2.$d3.$d4"; заменить на $ip=join ".", ($d1,$d2,$d3,$d4); print "$_[0] is Good\n"; заменить на print $_[0]." is Good\n"; После этого производительность должна увеличится на доли миллисекунд. Но это факт! И вообще вычисление ip-шников вынести в отдельную функцию. И тогда программа должна работать по следующему алгоритму: 1)Получаем начальный и конечный ip; 2)Вычисляем все ip, которые будем пинговать, и переписываем их в общий массив; 3)Для каждого ip из общего массива создаем отдельный поток, который будет вызывать функцию sock();