-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
split runc-init from runc(don't merge) #4343
Conversation
08f512d
to
affb027
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NACK.
We use /proc/self/exe
and have a single binary because having multiple binaries will just lead to possible configuration issues (an outdated runc-init
binary but a newer runc
binary) which could cause security issues (imagine we move the code for configuring a security setting from runc
to runc-init
-- if runc-init
is not updated then the security setting will no longer be updated at all).
I also don't like that we would now search $PATH
for half of the runc
implementation. If you downloaded the static runc binary and ran it, it would lead to the above issue because it would try to use the old runc-init
binary (if you have it installed, if you don't you'll get the same error CI has now).
(I'm surprised you saw a 20% change in execution time -- runc init
should pull in so many libraries that it would make very little difference in binary size.)
Signed-off-by: ningmingxiao <ning.mingxiao@zte.com.cn>
NACK. This would make sense if runc-init was a small binary, but practically it's the same size. I also did some testing (using |
I retest it will imporve little performance.
after
|
But the memory usage discussion is a bit of a red herring anyway, I've already outlined the other reasons why splitting the binary is a bad idea. |
This pr doesn't need to merge,I'm looKing for some way to make runc use less memory and run more quickly. I want runc can run as ruickly as crun. I can't find some userful way, maybe use c or rust rewrite some compoment can achieve that goal. |
This is an interesting goal. I would start with profiling to see what takes most of the time (for e.g. |
Improve performance by about 20%
create and delete 1000 container.
before:17.066672743s
after:13.397641198s