2016-05-27 3 views
1

У меня такое ощущение, что регистрация сервера достаточно полная. Есть ли способ отключить или уменьшить вывод журнала? Похоже, что если я отправлю документ на сервер, он напишет контент до stdout, который может быть убийцей производительности.Stanford CoreNLP Сервер отключает ведение журнала

Могу ли я сделать это как-то?


Обновление

Я нашел способ, чтобы подавить выход с сервера. Еще мой вопрос заключается в том, как и если я могу сделать это, используя аргумент командной строки для реального сервера. Однако для грязного обходного пути кажется, что следующее может облегчить накладные расходы.

Запуск сервера с

java -mx6g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -prettyPrint false 2&>1 >/dev/null 

где >/dev/null труба будет выход в ничто. К сожалению, это само по себе не помогло. 2&>1, похоже, делает трюк здесь. Признаюсь, я не знаю, что это на самом деле делает. Тем не менее, я сравнил два прогона.

Бег с 2 &> 1>/разработчика/нуль

Processed 100 sentences 
Overall time:  2.1797 sec 
Time per sentence: 0.0218 sec 
Processed 200 sentences 
Overall time:  6.5694 sec 
Time per sentence: 0.0328 sec 
... 
Processed 1300 sentences 
Overall time:  30.482 sec 
Time per sentence: 0.0234 sec 
Processed 1400 sentences 
Overall time:  32.848 sec 
Time per sentence: 0.0235 sec 
Processed 1500 sentences 
Overall time:  35.0417 sec 
Time per sentence: 0.0234 sec 

Запуск без дополнительных аргументов

ParagraphVectorTrainer - Epoch 1 of 6 
Processed 100 sentences 
Overall time:  2.9826 sec 
Time per sentence: 0.0298 sec 
Processed 200 sentences 
Overall time:  5.5169 sec 
Time per sentence: 0.0276 sec 
... 
Processed 1300 sentences 
Overall time:  54.256 sec 
Time per sentence: 0.0417 sec 
Processed 1400 sentences 
Overall time:  59.4675 sec 
Time per sentence: 0.0425 sec 
Processed 1500 sentences 
Overall time:  64.0688 sec 
Time per sentence: 0.0427 sec 

Это был очень мелкий тест, но кажется, что это может иметь довольно большое влияние. Разница здесь составляет коэффициент 1,828, что является значительной разницей с течением времени.

Однако это был просто быстрый тест, и я не могу гарантировать, что мои результаты полностью нормальные!

Дальнейшее обновление:

Я предполагаю, что это связано с тем, как JVM оптимизирует код с течением времени, но время в предложении становится compareable с одним я приходящегося на моей локальной машине. Имейте в виду, что я получил результаты ниже, используя 2&>1 >/dev/null, чтобы исключить регистрацию stdout.

Processed 68500 sentences 
Overall time:  806.644 sec 
Time per sentence: 0.0118 sec 
Processed 68600 sentences 
Overall time:  808.2679 sec 
Time per sentence: 0.0118 sec 
Processed 68700 sentences 
Overall time:  809.9669 sec 
Time per sentence: 0.0118 sec 

ответ

1

Ты теперь третий человек, который просил за это :) - Preventing Stanford Core NLP Server from outputting the text it receives. В HEAD репо GitHub, а в версиях 3.6.1 и далее есть флаг -quiet, который не позволяет серверу выводить текст, который он получает. Затем другое протоколирование можно настроить с помощью SLF4J, если оно находится в вашем пути к классу.

+0

Я вижу, интересно знать! :) – displayname