[SERVER-86329] improve compile_upload_benchmarks required size and functionality Created: 06/Feb/24 Updated: 07/Feb/24 |
|
| Status: | Backlog |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Wei Hu | Assignee: | Unassigned |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Assigned Teams: |
Build
|
| Participants: |
| Description |
|
Context here.
cc steve.gross@mongodb.com since the assignee recommended is labeled [DO NOT ASSIGN]. The tarball for this task is somewhat incorrectly created. The location of the debug symbols will not be useable in the install directory. The compile_upload_benchmarks task should be updated to also build the the install-benchmarks-debug target which will move the .debug files to the correct location in the install dir. Also instead of the task taring it up itself, the task could just use the archive targets scons provides (archive-benchmarks archive-benchmarks-debug)(this also leverage the faster pigz usage we implemented in scons recently). Regarding the size of the tarball, if we switch to dynamic link, it will be much smaller, but since benchmarks imply perf, dynamic link may not be an option, as dynamic linking can reduce perf. Aside from dynamic link, the other option would be binary consolidation. Instead of build N number of benchmark binaries, combine the benchmark tests into a single benchmark binary (or just a 2-3 binaries). Binary consolidation may require some tweaks to the c++ code and structure and is a larger undertaking, but certainly possible (and has been done before with several unittests). |