selinux/libsepol/include/sepol
Ondrej Mosnacek 542e878690 libsepol: cache ebitmap cardinality value
According to profiling of semodule -BN, ebitmap_cardinality() is called
quite often and contributes a lot to the total runtime. Cache its result
in the ebitmap struct to reduce this overhead. The cached value is
invalidated on most modifying operations, but ebitmap_cardinality() is
usually called once the ebitmap doesn't change any more.

After this patch, the time to do 'semodule -BN' on Fedora Rawhide has
decreased from ~10.9s to ~8.9s (2s saved).

Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com>
[sds@tycho.nsa.gov: correct times per follow-up on list]
Acked-by: Stephen Smalley <sds@tycho.nsa.gov>
2020-02-18 10:36:21 -05:00
..
policydb libsepol: cache ebitmap cardinality value 2020-02-18 10:36:21 -05:00
boolean_record.h libsepol: do not #include <sys/cdefs.h> 2016-11-29 11:03:17 -05:00
booleans.h selinux: Remove legacy local boolean and user code 2019-07-29 23:46:24 +02:00
context_record.h libsepol: do not #include <sys/cdefs.h> 2016-11-29 11:03:17 -05:00
context.h libsepol: do not #include <sys/cdefs.h> 2016-11-29 11:03:17 -05:00
debug.h libsepol: do not #include <sys/cdefs.h> 2016-11-29 11:03:17 -05:00
errcodes.h whitespace and spelling cleanup 2018-09-25 08:05:41 -07:00
handle.h libsepol: do not #include <sys/cdefs.h> 2016-11-29 11:03:17 -05:00
ibendport_record.h libsepol: replace non-standard use of __BEGIN_DECLS 2017-06-20 11:03:12 -04:00
ibendports.h libsepol: replace non-standard use of __BEGIN_DECLS 2017-06-20 11:03:12 -04:00
ibpkey_record.h libsepol: replace non-standard use of __BEGIN_DECLS 2017-06-20 11:03:12 -04:00
ibpkeys.h libsepol: replace non-standard use of __BEGIN_DECLS 2017-06-20 11:03:12 -04:00
iface_record.h libsepol: do not #include <sys/cdefs.h> 2016-11-29 11:03:17 -05:00
interfaces.h libsepol: do not #include <sys/cdefs.h> 2016-11-29 11:03:17 -05:00
kernel_to_cil.h libsepol: Add ability to convert binary policy to CIL 2017-04-05 12:23:05 -04:00
kernel_to_conf.h libsepol: Add ability to convert binary policy to policy.conf file 2017-04-05 12:23:25 -04:00
module_to_cil.h libsepol: add function to generate CIL from a module policydb 2015-04-01 13:09:21 -04:00
module.h libsepol: do not #include <sys/cdefs.h> 2016-11-29 11:03:17 -05:00
node_record.h libsepol: do not #include <sys/cdefs.h> 2016-11-29 11:03:17 -05:00
nodes.h libsepol: do not #include <sys/cdefs.h> 2016-11-29 11:03:17 -05:00
policydb.h libsepol: add a function to optimize kernel policy 2019-06-25 10:11:00 -04:00
port_record.h selinux: Add support for the SCTP portcon keyword 2018-03-19 12:34:29 -04:00
ports.h libsepol: do not #include <sys/cdefs.h> 2016-11-29 11:03:17 -05:00
roles.h libsepol: do not #include <sys/cdefs.h> 2016-11-29 11:03:17 -05:00
sepol.h semanage: Update semanage to allow runtime labeling of ibendports 2017-05-23 16:20:55 -04:00
user_record.h libsepol: do not #include <sys/cdefs.h> 2016-11-29 11:03:17 -05:00
users.h selinux: Remove legacy local boolean and user code 2019-07-29 23:46:24 +02:00