Объявлена ​​ли функция crypt () в unistd.h или crypt.h?

Я использую GCC 4.6.0 ( на другой неопознанной платформе ).

Я использую используя функцию crypt () для шифрования пароля.

Я никогда раньше не использовал эту функцию, поэтому я заглянул на главную страницу:

man 3 crypt

И там говорится, что нужно включить unistd.h заголовок.

Однако, когда я это сделал, я получил неявное предупреждение для функции crypt .

warning: implicit declaration of function ‘crypt’ [-Wimplicit-function-declaration]

Я немного поискал и обнаружил, что вы должны включить crypt.h .

У меня есть поисковый робот, который я написал на Node.js. Я бы предпочел использовать Ruby, поэтому переписал его в EventMachine. Поскольку оригинал был на CoffeeScript, на самом деле это было на удивление легко, и код почти такой же, за исключением того, что в EventMachine я действительно могу перехватывать и восстанавливать исключения (поскольку я использую волокна).

Проблема в том, что тесты, которые выполняются менее чем за 20 секунд в коде Node.js, занимают до 5 минут и более на EventMachine. Когда я смотрю количество подключений, кажется, что они даже не работают параллельно (они выстраиваются в очередь до сотен, а затем очень медленно спускаются), хотя регистрация показывает, что кодовые точки попадают в параллельно.

Я понимаю, что без кода вы не можете точно знать, что происходит, но мне просто было интересно, есть ли какая-то основная разница, и я должен сдаться, или они действительно должны иметь возможность работать примерно так же быстро (небольшое замедление в порядке), и я должен продолжать пытаться выяснить, в чем проблема .

Я сделал следующее, но на самом деле это не дало никакого эффекта:

puts "Running with ulimit: " + EM.set_descriptor_table_size(60000).to_s
EM.set_effective_user('nobody')
EM.kqueue

О, и я очень уверен, что у меня нет никаких блокирующих вызовов в EventMachine. Я прочесал каждую строчку около 10 раз в поисках того, что может блокировать. Все мои сетевые вызовы - EM :: HttpRequest.

6
задан Phil Kulak 25 May 2011 в 16:48
поделиться