This issue tracks the modifications to current MwCAS implementation.
The continuous benchmark can be found here: https://dev.azure.com/haoxiangpeng/pmwcas/_dashboards/dashboard/7ed85ecc-8da6-4958-977e-efb77c25afcc
-
Address flushes are added back because they are believed to be necessary, this result in performance drop about:

-
https://github.com/XiangpengHao/pmwcas/blob/dev/src/mwcas/mwcas.cc#L708 is deleted, resulting in performance increase by:

-
After a second thought, the address flush after the description installation should not be necessary. So remove it and we get back to the old performance:

-
Now we use RTM by default and use the normal CAS based descriptor installation as the fallback plan.
-
We now make a copy of the data before persisting it, by doing this we can avoid some cache misses.
This issue tracks the modifications to current MwCAS implementation.
The continuous benchmark can be found here: https://dev.azure.com/haoxiangpeng/pmwcas/_dashboards/dashboard/7ed85ecc-8da6-4958-977e-efb77c25afcc
Address flushes are added back because they are believed to be necessary, this result in performance drop about:

https://github.com/XiangpengHao/pmwcas/blob/dev/src/mwcas/mwcas.cc#L708 is deleted, resulting in performance increase by:

After a second thought, the address flush after the description installation should not be necessary. So remove it and we get back to the old performance:

Now we use RTM by default and use the normal CAS based descriptor installation as the fallback plan.
We now make a copy of the data before persisting it, by doing this we can avoid some cache misses.