{"push_id":1123502620,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"dd70b3a62e816a7532ca4e14b78546b617e796e6","before":"afc42e6173b8d248b9b08f99489a49a82ef24f23","commits":[{"sha":"dd70b3a62e816a7532ca4e14b78546b617e796e6","author":{"email":"383f9b0dca128bf833430f7fdb1f5832d008536e@gmx.de","name":"Sebastian Parschauer"},"message":"targetmem: Optimize memset() in add_element()\n\nThe problem with the memset() in add_element() is that it is called\nin the hot scan path several million times if many memory locations\nare matching. As the size to be zeroed is unknown, this results in\na real function call and costs too much performance. Most of the\ntime, 4 or 8 bytes have to be zeroed. So add these cases to a switch\ncase to let GCC optimize them and avoid the real function call.\n\nOn an Intel Xeon CPU E5-1620 v3 with DDR4 RAM this results in 6%\nless scan time if everything matches when searching for 0 in 500 MB\nof zeroed memory.\n\nReference: GitHub issue #138","distinct":true,"url":"https://api.github.com/repos/scanmem/scanmem/commits/dd70b3a62e816a7532ca4e14b78546b617e796e6"}]}
{"actor":{"display_login":"sriemer"}}