-
Notifications
You must be signed in to change notification settings - Fork 3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Soft-inline Thrift (de)serialization functions
Summary: **TL;DR Inlining Thrift (de)serialization functions significantly improves observed wall clock latencies for almost all workloads with only minimal impact to binary size but a measurable impact to build times.** If this proposal sounds familiar, it's because it's an updated version of [this one](https://fb.workplace.com/groups/rust.libraries.wg/posts/2267253036959522/) and this diff D57312501 :) Full RFC and discussion in [this post](https://fb.workplace.com/groups/rust.libraries.wg/permalink/2268674973483995/). In local tests, using the Thrift loadgen framework to attempt a consistent QPS for reproducibility, results were overall positive in reducing observed latency. Overall, in numbers: * 49.63% improvement for P50 * 49.95% improvement for AVG * 62.41% improvement for P99 Automated build time regression analysis found that there was a 30%-40% increase in build times for the NodeAPI compiler (P1364121390 - wall clock, 1m-4m regression). This is actually an improvement over the previous regression of 400%-500% (P1364124026) for the `#[inline(always)]` version. Reviewed By: jsgf, shayne-fletcher Differential Revision: D57419887 fbshipit-source-id: 5ed0b3056c2a3dc5c17cb95b4982aa9d862fbcf2
- Loading branch information
1 parent
fc45a44
commit b2732cf
Showing
38 changed files
with
718 additions
and
96 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.