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

调研:YACL 即将升级到 C++20 并放弃对老版本 C++ 的兼容 #171

Open
usafchn opened this issue Dec 8, 2023 · 3 comments
Open
Assignees

Comments

@usafchn
Copy link
Member

usafchn commented Dec 8, 2023

鉴于 C++20 带来了许多语言新特性,可以提高代码可读性,简化写法,提升 meta programing 能力,提升性能,加快编译速度等等,YACL/HEU/SPU/SCQL 计划从 C++17 全面迁移到 C++20。

目前 YACL 最低要求是 C++17,GCC > 11.2,升级后最低要求 C++20,GCC > 11.2

对使用者的影响

仅影响直接通用 C++ 调用 YACL 的用户,通过其它语言接口(Python SDK)的用户不受影响。

对于 C++ 使用者:YACL 升级 C++20 后直接依赖项目也需要在 20 模式下编译,其中 GCC 11.2 已经支持 C++20 语法,编译器不用变,需要做的是 GCC 编译参数把 -std=c++17 改为 -std=c++20

反馈

考虑到一些项目从 C++17 升到 20 后可能编译不过,如果您对升级 20 有什么疑问或需要技术支持,请留言;或者您确实必须依赖 C++17 版本,也请留言告诉我们

@usafchn usafchn self-assigned this Dec 8, 2023
@maths644311798
Copy link
Contributor

请问有考虑用std::format代替现在用的第三方libfmt库吗?还有std::span代替absl::span?

@anakinxc
Copy link
Collaborator

anakinxc commented Aug 14, 2024

请问有考虑用std::format代替现在用的第三方libfmt库吗?还有std::span代替absl::span?

no,这么做并没有明显的收益,除非我们哪天可以完全干掉 libfmt 和 abseil

@usafchn
Copy link
Member Author

usafchn commented Aug 14, 2024

请问有考虑用std::format代替现在用的第三方libfmt库吗?还有std::span代替absl::span?

需要先升级到 C++20 才能替换

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

No branches or pull requests

3 participants