-
Notifications
You must be signed in to change notification settings - Fork 5.9k
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
Separate different libs for ray backend code. #3879
Comments
@guoyuhong Awesome. This feature has been implemented in bazel, you can refer to how the library in bazel is split(BUILD.bazel). |
@micafan Thanks for the information. I will implement the cmake change accordingly. |
@guoyuhong let's not spend too much time making changes to cmake since it should all be replaced by bazel soon (targeting next two weeks). I'd suggest making any improvements directly to the bazel build. |
@robertnishihara Didn't know bazel would come this soon. Is @pcmoritz driving the effort right now? |
Two weeks is on the optimistic side, but yes, @pcmoritz is driving the effort. |
I will close this issue since bazel building meets the requirement and bazel will replace cmake soon. |
System information
Describe the problem
We'd better separate the libs for backend code instead of put many c++ files cross different directories into one big library. Currently, we only have separate libs for object manager, raylet, raylet client. As the project becomes big and big, there could be more directories to represent different functionalities. We need to do this as early as possible.
One example is that, @micafan is adding the ray metric code in #3664. There is no separated libs for submodules, so she added the metric code as part of raylib. What she needs is the logging code in ray, but logging is not separated from raylib. Then the metric lib dependency is raylib, all the tests executables should be linked after raylib is finished. Actually, when she changed the metric code, only the metric libs should be built again, but current the whole raylib is built again and all the dependencies are build again, too.
Separating the libs will bring us following benefits:
I propose the following lib structure.
How do you think about this change?
Source code / logs
The text was updated successfully, but these errors were encountered: