{"shas":[["69cd4997bbe045f164e4bbafc20d8cf582f42464","e85e9962abfaa52ae45140f7f93c204b0b93cc1f@peak6.com","Added overload of recv that takes a target buffer\n\nOriginal recv call allocated a byte[] to return the message payload received.\nThe overhead of allocating the buffer and the garbage collections that this caused lowered your total throughput.\n\nthe new recv takes a pre-allocated buffer, offset and length and populates min(message_size, len) bytes.\n\ninitial testing shows zero garbage collections triggered and an average throughput increase.\n\non my test machine, original recv on a pub/sub inproc socket (1 pub thread, 1 recv thread) achieved ~ 3.7 million messages per second\nthe new receive gives ~ 4.5 million message per second (with the added benefit of no garbage generated)","David Budworth"]],"ref":"refs/heads/master","size":1,"head":"69cd4997bbe045f164e4bbafc20d8cf582f42464","push_id":38025364}