[
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