[SERVER-35184] Enable link-time-optimization for embedded SDK builders Created: 23/May/18  Updated: 29/Oct/23  Resolved: 24/Aug/18

Status: Closed
Project: Core Server
Component/s: Build
Affects Version/s: None
Fix Version/s: 4.0.3, 4.1.3

Type: Improvement Priority: Major - P3
Reporter: Andrew Morrow (Inactive) Assignee: Andrew Morrow (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
depends on CDRIVER-2681 bson_context_get_default optimized ou... Closed
Backwards Compatibility: Fully Compatible
Backport Requested:
v4.0
Sprint: Platforms 2018-08-27
Participants:

 Description   

Should result in a nice size reduction and potentially a performance improvement.



 Comments   
Comment by Githook User [ 28/Aug/18 ]

Author:

{'name': 'Andrew Morrow', 'email': 'acm@mongodb.com', 'username': 'acmorrow'}

Message: SERVER-35184 Enable LTO for embedded SDK builds

Includes a bump in the SDK manager toolset, and moves us to the
Android r18 beta2 toolset, because LTO is broken in r17.

See https://github.com/android-ndk/ndk/issues/498 for details.

Amended from master commit with a fix to disable the use of
string_view in ASIO, since we don't have experimental/string_view with
the Android r18 NDK, but we also don't have C++17 on 4.0.

(cherry picked from commit b29f95c9b5cefb2c4ee4beaf5b1eb5758bfb910b)
Branch: v4.0
https://github.com/mongodb/mongo/commit/58ab15ed2ee373e8c6b8ae4e832c343613979f14

Comment by Githook User [ 24/Aug/18 ]

Author:

{'name': 'Andrew Morrow', 'email': 'acm@mongodb.com', 'username': 'acmorrow'}

Message: SERVER-35184 Enable LTO for embedded SDK builds

Includes a bump in the SDK manager toolset, and moves us to the
Android r18 beta2 toolset, because LTO is broken in r17.

See https://github.com/android-ndk/ndk/issues/498 for details.
Branch: master
https://github.com/mongodb/mongo/commit/b29f95c9b5cefb2c4ee4beaf5b1eb5758bfb910b

Comment by Andrew Morrow (Inactive) [ 22/Aug/18 ]

There is still research needed here.

  • Can we do LTO without loosing debug info? Do we care about debug info?
  • Why don't LTO builds on android work?
Comment by Andrew Morrow (Inactive) [ 04/Jun/18 ]

Can't deploy this until the C driver can be built with LTO per CDRIVER-2681.

Generated at Thu Feb 08 04:39:04 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.