[ https://issues.apache.org/jira/browse/COUCHDB-1054?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12989647#comment-12989647 ]
Adam Kocoloski commented on COUCHDB-1054: ----------------------------------------- Nice find. A few suggestions: 1) Have you tried using io:put_chars/2 instead of io:format in the log() function? Now that the arguments are simple strings we don't need all the printf goop there. 2) If the output of get_log_message() is longer than 64 characters (and it usually is) it may make sense to do a list_to_binary there and send a refc binary to the logger so we don't copy the data. > Better couch_log performance > ---------------------------- > > Key: COUCHDB-1054 > URL: https://issues.apache.org/jira/browse/COUCHDB-1054 > Project: CouchDB > Issue Type: Improvement > Reporter: Filipe Manana > Assignee: Filipe Manana > Attachments: COUCHDB-1054-2.patch, COUCHDB-1054.patch > > > Building the messages to write to the console and the log file can be done > outside the couch_log gen_event. This significantly increases the parallelism > when many processes log messages. The following relaximation test graph shows > a throughput increase using the attached patch against current trunk: > http://graphs.mikeal.couchone.com/#/graph/0379dbdaef29b1c0fbf03421540243f7 -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira