-
Notifications
You must be signed in to change notification settings - Fork 325
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
Eliminate or reduce dependency on Boost #1005
Comments
This has come up a few times in the past. See #62 and #643 for those discussions. Bond--as of 2019--is still a C++11 library that targets older C++ compilers for broad compatibility. The C++11 standard library doesn't provide everything that Bond needs, and Boost helps fill those gaps. At this time, there is no concerted effort to remove Bond's use of Boost. Dropping Boost as a dependency isn't something that we're opposed to, though. Changes that reduce the use of Boost, don't re-invent large parts of what Boost provides, and are compatible with the current minimum supported compilers (MSVC 2013, Clang 3.8, and GNU G++ 5.4) are always welcome and have been merged in the past. The less Boost that is used, the easier it will be to remove in the future. Hope this helps. |
I'm going to close this issue for now since I haven't seen any activity in a couple of weeks. If there's something more here, please post another comment. Thanks. |
@chwarr - Let me look at |
I recently completed an analysis for use in our company between Microsoft Bond and Google's Protocol Buffers. For most of the use cases, they ranked nearly equal. However, when the size and number of the dependencies were considered, Bond fell very far behind largely due to the dependency on Boost. (a rather massive set of libraries)
Example:
install protocol buffers, e.g. "vcpkg proto"
Total elapsed time: 5.419 min
vcpkg list shows:
protobuf:x86-windows 3.10.0 Protocol Buffers - Google's data interchange format
compare this to Bond
install bond, eg. "vcpkg bond"
Total elapsed time: 14.93 min
vcpkg list show:
78 packages, all but a few are Boost.
Also, the dependency graph shows that Bond has only two areas in Boost that it calls: boost-assign and boost-utilities. E.g. "vcpkg.exe depend-info bond --dgml > bond.dgml" and view in VS. Surely there is something in STL that can be crafted to serve an equivalent purpose?
The text was updated successfully, but these errors were encountered: