Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change C++ application entry point to remove dependency on frontends #3562

Merged
merged 13 commits into from
Feb 21, 2022

Conversation

eddyashton
Copy link
Member

This is a breaking change, and requires a change in all C++ applications

We currently expose the full implementation of RpcFrontend, because we ask applications to extend this type to define their entry point. The decoupling of Frontend and EndpointRegistry means this is unnecessary - applications define all of their actualy logic in an EndpointRegistry, and wrap that in near-identical boiler plate to give us an RpcFrontend.

The benefit of this new approach is that the definition of several complex types like ccf::NetworkTables and ccf::RpcFrontend can remain part of the private implementation, and are not exposed to apps. However, it is a late-breaking change to the 2.0 API, so merits discussion.

@eddyashton eddyashton requested a review from a team February 16, 2022 16:56
@ghost
Copy link

ghost commented Feb 16, 2022

remove_public_network_tables@42172 aka 20220218.41 vs main ewma over 20 builds from 41790 to 42144

Click to see table

main

build_id build_number tpcc_sgx_cft^ tpcc_sgx_cft_mem ls_sgx_cft^ ls_sgx_cft_mem ls_jwt_sgx_cft^ ls_jwt_sgx_cft_mem ls_js_sgx_cft^ ls_js_sgx_cft_mem ls_v8_sgx_cft^ ls_v8_sgx_cft_mem ls_full_js_sgx_cft^ ls_full_js_sgx_cft_mem ls_full_v8_sgx_cft^ ls_full_v8_sgx_cft_mem ls_js_jwt_sgx_cft^ ls_js_jwt_sgx_cft_mem hist_sgx_cft^ RB put (/s)^ CHAMP put (/s)^ RB get (/s)^ CHAMP get (/s)^
41790 20220215.2 6048.05 9.03128e+07 19906 1.71746e+07 5686.33 1.58639e+07 2544.02 1.03588e+07 1642.59 1.63451e+08 2170.01 9.83456e+06 1471.8 9.87014e+07 1921.84 9.31027e+06 20003.4 924058 1.35736e+06 9.19619e+06 3.66369e+07
41819 20220215.13 5961.57 9.08371e+07 20085.7 1.6126e+07 5614.26 1.53396e+07 2549.07 1.2456e+07 1660.44 1.61354e+08 2170.95 9.83456e+06 1477.95 9.87014e+07 1975.43 9.04813e+06 20036.4 913181 1.37191e+06 9.36867e+06 3.5189e+07
41839 20220215.20 6037.49 9.10992e+07 20014.2 1.6126e+07 5693.99 1.56017e+07 2649.45 1.03588e+07 1677.76 1.63713e+08 2164.08 1.00967e+07 1505.08 9.81771e+07 1932.56 9.57242e+06 19848.4 895881 1.35628e+06 9.35578e+06 3.58042e+07
41851 20220215.25 6003.55 9.08371e+07 19996.4 1.58639e+07 5619.51 1.56017e+07 2531.12 1.03588e+07 1630.16 1.63975e+08 2162.59 1.00967e+07 1443.5 9.87014e+07 1934.6 9.57242e+06 18235 895333 1.39357e+06 9.44645e+06 3.65056e+07
41861 20220215.29 5995.07 9.03128e+07 19962.2 1.63882e+07 5640.8 1.56017e+07 2537.86 1.35046e+07 1625.91 1.63451e+08 2111.27 1.00967e+07 1469.38 9.79149e+07 1970.53 9.31027e+06 20076.6 888073 1.39642e+06 9.22514e+06 3.56168e+07
41879 20220215.35 5867.64 8.97885e+07 19734.9 1.6126e+07 5682.42 1.56017e+07 2527.3 1.0621e+07 1629.15 1.63713e+08 2051.63 1.21939e+07 1463.9 9.89635e+07 1961.04 9.04813e+06 19070.9 907997 1.35315e+06 9.36867e+06 3.65714e+07
41919 20220215.49 5659.44 9.05749e+07 18947.4 1.63882e+07 5526.55 1.56017e+07 2472.27 9.83456e+06 1572.28 1.63451e+08 2138.1 9.04813e+06 1423.79 9.87014e+07 1914.34 9.31027e+06 18735.6 877457 1.34356e+06 9.0419e+06 3.50679e+07
41940 20220215.57 5976.65 9.26721e+07 20000.8 1.63882e+07 5684.32 1.56017e+07 2524.82 1.03588e+07 1661.56 1.64237e+08 2109.61 1.03588e+07 1475.98 9.87014e+07 1878.96 1.11453e+07 21970.4 904869 1.3768e+06 9.27112e+06 3.58669e+07
41943 20220216.1 6053.86 9.10992e+07 19977.7 1.63882e+07 5632.89 1.6126e+07 2524.46 1.0621e+07 1663.47 1.63975e+08 2166.73 1.00967e+07 1482.81 9.89635e+07 1969.38 9.31027e+06 17362.9 879418 1.40148e+06 9.40308e+06 3.58669e+07
41971 20220217.1 5961.12 9.00506e+07 19956.7 1.66503e+07 5662.83 1.56017e+07 2545.28 1.03588e+07 1655.01 1.62402e+08 2185.9 9.83456e+06 1487.66 9.87014e+07 1984.7 9.31027e+06 19455.6 908722 1.38303e+06 9.21688e+06 3.67019e+07
42010 20220217.15 6000.5 9.03128e+07 19673.9 1.69124e+07 5661.87 1.58639e+07 2400.44 1.03588e+07 1637.96 1.63451e+08 2230.07 9.57242e+06 1478.06 9.87014e+07 1966.5 9.31027e+06 17686.2 903869 1.38602e+06 9.30905e+06 3.63766e+07
42017 20220217.18 5901.08 9.13613e+07 19836 1.74367e+07 5518.43 1.56017e+07 2533.56 1.00967e+07 1638.9 1.62665e+08 2149.57 9.83456e+06 1450.01 9.87014e+07 1937.65 1.11453e+07 19972 901482 1.39044e+06 9.33876e+06 3.58669e+07
42040 20220217.26 5837.37 8.97885e+07 19762.9 1.66503e+07 5636.59 1.56017e+07 2538.87 1.0621e+07 1644.94 1.63189e+08 2163.74 1.00967e+07 1462.36 9.76528e+07 1964.24 9.83456e+06 20054.6 903595 1.37394e+06 9.28798e+06 3.57417e+07
42063 20220218.1 5836.31 8.97885e+07 19979.8 1.58639e+07 5654.85 1.58639e+07 2534.49 1.03588e+07 1652.36 1.645e+08 2161.46 9.83456e+06 1461.92 9.89635e+07 2018.57 8.78598e+06 21834.2 903032 1.37219e+06 9.22934e+06 3.58663e+07
42069 20220218.3 6118.04 9.16235e+07 18538.9 1.6126e+07 5573.33 1.58639e+07 2525.65 1.03588e+07 1656.49 1.64237e+08 2162.93 1.00967e+07 1425.53 9.87014e+07 1964.72 9.31027e+06 20305.9 906268 1.41857e+06 9.4074e+06 3.54939e+07
42075 20220218.5 5645.07 9.05749e+07 19205.9 1.66503e+07 5589.19 1.56017e+07 2531.81 1.0621e+07 1635.21 1.61878e+08 2160.44 1.03588e+07 1467.45 9.87014e+07 1968.46 9.31027e+06 18034.8 922557 1.38107e+06 9.4074e+06 3.64413e+07
42089 20220218.11 5970.53 9.10992e+07 19748.5 1.63882e+07 5613.78 1.58639e+07 2526.78 1.08831e+07 1620.27 1.63975e+08 2114.89 9.83456e+06 1422.61 9.76528e+07 1907.5 9.31027e+06 18943.2 910096 1.38537e+06 9.25855e+06 3.57417e+07
42094 20220218.13 5968.92 9.00506e+07 20004.6 1.6126e+07 5685.72 1.56017e+07 2542.61 1.0621e+07 1659.39 1.61354e+08 2167.73 1.00967e+07 1477.41 9.92257e+07 1972.93 9.04813e+06 19940.9 910262 1.37829e+06 9.20445e+06 3.58036e+07
42121 20220218.24 5867.23 9.00506e+07 19773.3 1.66503e+07 5581.76 1.56017e+07 2542.89 1.03588e+07 1629.23 1.645e+08 2164.03 1.00967e+07 1479.84 9.84392e+07 1968.76 9.04813e+06 17943.9 893929 1.39395e+06 9.39445e+06 3.55556e+07
42144 20220218.32 5924.88 8.97885e+07 19749.4 1.69124e+07 5693.79 1.58639e+07 2523.42 1.0621e+07 1619.45 1.63975e+08 2165.48 1.14074e+07 1460.44 9.89635e+07 1938.67 9.57242e+06 19984.8 907952 1.38377e+06 9.21265e+06 3.58663e+07

remove_public_network_tables

build_id build_number tpcc_sgx_cft^ tpcc_sgx_cft_mem ls_sgx_cft^ ls_sgx_cft_mem ls_jwt_sgx_cft^ ls_jwt_sgx_cft_mem ls_js_sgx_cft^ ls_js_sgx_cft_mem ls_v8_sgx_cft^ ls_v8_sgx_cft_mem ls_full_js_sgx_cft^ ls_full_js_sgx_cft_mem ls_full_v8_sgx_cft^ ls_full_v8_sgx_cft_mem ls_js_jwt_sgx_cft^ ls_js_jwt_sgx_cft_mem hist_sgx_cft^ RB put (/s)^ CHAMP put (/s)^ RB get (/s)^ CHAMP get (/s)^
41970 20220216.11 5751.92 9.05749e+07 19940 1.63882e+07 5675.98 1.56017e+07 2539.04 9.83456e+06 1591.38 1.63189e+08 2157.83 9.83456e+06 1474.77 9.89635e+07 2022.03 8.78598e+06 20164.5 906991 1.36396e+06 9.30059e+06 3.56794e+07
41978 20220217.3 5816.98 9.08371e+07 19327.6 1.66503e+07 5647.79 1.56017e+07 2549.02 9.83456e+06 1642.28 1.63713e+08 2158.77 9.83456e+06 1477.28 9.84392e+07 1969.66 9.31027e+06 18294.2 908117 1.37062e+06 9.21273e+06 3.58669e+07
42172 20220218.41 5963.81 8.97885e+07 19977.7 1.63882e+07 5622.52 1.56017e+07 2529.76 1.0621e+07 1619.45 1.63189e+08 2156.28 9.83456e+06 1474.1 9.84392e+07 2008.32 8.78598e+06 20236.3 921431 1.39755e+06 9.22934e+06 3.65708e+07

images

@eddyashton eddyashton merged commit 5b40ba7 into microsoft:main Feb 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants