wazuh / wazuh

Wazuh - The Open Source Security Platform. Unified XDR and SIEM protection for endpoints and cloud workloads.
https://wazuh.com/
Other
10.39k stars 1.59k forks source link

Increase in footprint after incorporating vcpkg #25179

Closed Dwordcito closed 2 weeks ago

Dwordcito commented 1 month ago

Description

This issue aims to analyze and correct the increase that occurred after incorporating the dependencies from vcpkg, the increase is notable (from 23mbs to 38 mbs) in the main binary (output of the engine)

https://github.com/wazuh/wazuh/issues/25073#issuecomment-2271431525

Expected

JcabreraC commented 2 weeks ago

Update

Steps to Investigate the memory Increase

NahuFigueroa97 commented 2 weeks ago

Update

Using VCPKG - Footprint

-rw-r--r-- 1 root root 2.3M Aug 27 15:53 ./build/source/server/libserver.a
-rw-r--r-- 1 root root 13M Aug 27 15:56 ./build/source/cmds/libcmds.a
-rw-r--r-- 1 root root 206K Aug 27 15:48 ./build/source/defs/libdefs.a
-rw-r--r-- 1 root root 627K Aug 27 15:50 ./build/source/kvdb/libkvdb.a
-rw-r--r-- 1 root root 817K Aug 27 15:50 ./build/source/logpar/liblogpar.a
-rw-r--r-- 1 root root 160K Aug 27 15:48 ./build/source/yml/libyml.a
-rw-r--r-- 1 root root 586K Aug 27 15:49 ./build/source/conf/libconf_cliconf.a
-rw-r--r-- 1 root root 1.6M Aug 27 15:49 ./build/source/proto/libeMessages.a
-rw-r--r-- 1 root root 298K Aug 27 15:48 ./build/source/store/libstore_fileDriver.a
-rw-r--r-- 1 root root 309K Aug 27 15:48 ./build/source/store/libstore.a
-rw-r--r-- 1 root root 1.7M Aug 27 15:50 ./build/source/router/librouter_router.a
-rw-r--r-- 1 root root 755K Aug 27 15:49 ./build/source/geo/libgeo.a
-rw-r--r-- 1 root root 728K Aug 27 15:50 ./build/source/schemf/libschemf.a
-rw-r--r-- 1 root root 232K Aug 27 15:48 ./build/source/wdb/libwdb.a
-rw-r--r-- 1 root root 2.4M Aug 27 15:49 ./build/source/hlp/libhlp.a
-rw-r--r-- 1 root root 444K Aug 27 15:48 ./build/source/sockiface/libsockiface.a
-rw-r--r-- 1 root root 4.2M Aug 27 15:52 ./build/source/api/libapi.a
-rw-r--r-- 1 root root 16K Aug 27 15:47 ./build/source/rbac/librbac.a
-rw-r--r-- 1 root root 16K Aug 27 15:49 ./build/source/queue/libqueue.a
-rw-r--r-- 1 root root 1.8M Aug 27 15:47 ./build/source/base/libbase.a
-rw-r--r-- 1 root root 994K Aug 27 15:48 ./build/source/bk/libbk_rx.a
-rw-r--r-- 1 root root 8.9M Aug 27 15:53 ./build/source/builder/libbuilder.a
-rw-r--r-- 1 root root 779K Aug 27 15:48 ./build/source/metrics/libmetrics.a
-rw-r--r-- 2 root root 8.0K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_kernel_timeout_internal.a
-rw-r--r-- 2 root root 59K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_flags_reflection.a
-rw-r--r-- 2 root root 6.0K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_crc_cpu_detect.a
-rw-r--r-- 2 root root 3.7K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_cordz_sample_token.a
-rw-r--r-- 2 root root 19K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_log_internal_log_sink_set.a
-rw-r--r-- 2 root root 65K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libbrotlidec.a
-rw-r--r-- 2 root root 118K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_time.a
-rw-r--r-- 2 root root 5.5K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_random_seed_gen_exception.a
-rw-r--r-- 2 root root 1.2K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_string_view.a
-rw-r--r-- 2 root root 1.6K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_log_internal_nullguard.a
-rw-r--r-- 2 root root 8.5K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_random_internal_randen_slow.a
-rw-r--r-- 2 root root 3.6K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_flags_commandlineflag.a
-rw-r--r-- 2 root root 22K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_malloc_internal.a
-rw-r--r-- 2 root root 13K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_failure_signal_handler.a
-rw-r--r-- 2 root root 32K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_symbolize.a
-rw-r--r-- 2 root root 8.2K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_flags_program_name.a
-rw-r--r-- 2 root root 1.2K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_bad_optional_access.a
-rw-r--r-- 2 root root 28K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_crc_cord_state.a
-rw-r--r-- 2 root root 12K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_strings_internal.a
-rw-r--r-- 2 root root 5.8K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_random_internal_platform.a
-rw-r--r-- 2 root root 835K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libre2.a
-rw-r--r-- 2 root root 15K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_log_globals.a
-rw-r--r-- 2 root root 46K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_flags_internal.a
-rw-r--r-- 2 root root 3.8K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_hash.a
-rw-r--r-- 2 root root 33M Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/librocksdb.a
-rw-r--r-- 2 root root 6.6K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_flags_usage.a
-rw-r--r-- 2 root root 52K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_demangle_internal.a
-rw-r--r-- 2 root root 1.2K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_bad_any_cast_impl.a
-rw-r--r-- 2 root root 1.9K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_log_initialize.a
-rw-r--r-- 2 root root 1.5M Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libcurl.a
-rw-r--r-- 2 root root 3.8K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_random_internal_randen.a
-rw-r--r-- 2 root root 4.7K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_periodic_sampler.a
-rw-r--r-- 2 root root 2.7K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_leak_check.a
-rw-r--r-- 2 root root 16K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_statusor.a
-rw-r--r-- 2 root root 28K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_log_flags.a
-rw-r--r-- 2 root root 137K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libbrotlicommon.a
-rw-r--r-- 2 root root 6.2M Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libprotobuf.a
-rw-r--r-- 2 root root 169K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libopentelemetry_exporter_ostream_metrics.a
-rw-r--r-- 2 root root 90K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libopentelemetry_common.a
-rw-r--r-- 2 root root 273K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libdate-tz.a
-rw-r--r-- 2 root root 1.2M Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libflatbuffers.a
-rw-r--r-- 2 root root 1.3M Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libspdlog.a
-rw-r--r-- 2 root root 7.0M Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libprotoc.a
-rw-r--r-- 2 root root 216K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libgmock.a
-rw-r--r-- 2 root root 1.1K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_log_entry.a
-rw-r--r-- 2 root root 3.5K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_log_severity.a
-rw-r--r-- 2 root root 2.0M Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libssl.a
-rw-r--r-- 2 root root 360K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libuv.a
-rw-r--r-- 2 root root 121K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libopentelemetry_exporter_ostream_logs.a
-rw-r--r-- 2 root root 333K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libpugixml.a
-rw-r--r-- 2 root root 101K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_synchronization.a
-rw-r--r-- 2 root root 990K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libbenchmark.a
-rw-r--r-- 2 root root 34K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_log_internal_check_op.a
-rw-r--r-- 2 root root 28K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_base.a
-rw-r--r-- 2 root root 1.6K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_random_internal_randen_hwaes.a
-rw-r--r-- 2 root root 55K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_log_internal_message.a
-rw-r--r-- 2 root root 789K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libopentelemetry_logs.a
-rw-r--r-- 2 root root 259K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libfmt.a
-rw-r--r-- 2 root root 2.5K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_log_internal_fnmatch.a
-rw-r--r-- 2 root root 3.0K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_spinlock_wait.a
-rw-r--r-- 2 root root 3.2K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_random_internal_randen_hwaes_impl.a
-rw-r--r-- 2 root root 174K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_str_format_internal.a
-rw-r--r-- 2 root root 4.0K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_random_seed_sequences.a
-rw-r--r-- 2 root root 3.6K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_flags_private_handle_accessor.a
-rw-r--r-- 2 root root 28K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_vlog_config_internal.a
-rw-r--r-- 2 root root 222K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libopentelemetry_resources.a
-rw-r--r-- 2 root root 807K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libopentelemetry_trace.a
-rw-r--r-- 2 root root 104K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_flags_parse.a
-rw-r--r-- 2 root root 4.8K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_scoped_set_env.a
-rw-r--r-- 2 root root 18K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_int128.a
-rw-r--r-- 2 root root 5.8K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_log_internal_globals.a
-rw-r--r-- 2 root root 4.4K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_city.a
-rw-r--r-- 2 root root 3.3K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_exponential_biased.a
-rw-r--r-- 2 root root 11M Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libcrypto.a
-rw-r--r-- 2 root root 4.7K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_random_internal_seed_material.a
-rw-r--r-- 2 root root 1.3M Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libprotobuf-lite.a
-rw-r--r-- 2 root root 33K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_random_internal_distribution_test_util.a
-rw-r--r-- 2 root root 225K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libopentelemetry_exporter_in_memory.a
-rw-r--r-- 2 root root 781K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libbrotlienc.a
-rw-r--r-- 2 root root 3.7K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_cordz_functions.a
-rw-r--r-- 2 root root 1.1M Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libyaml-cpp.a
-rw-r--r-- 2 root root 48K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_flags_marshalling.a
-rw-r--r-- 2 root root 16K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_hashtablez_sampler.a
-rw-r--r-- 2 root root 25K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_debugging_internal.a
-rw-r--r-- 2 root root 26K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_crc32c.a
-rw-r--r-- 2 root root 208K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_time_zone.a
-rw-r--r-- 2 root root 1.2K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_bad_variant_access.a
-rw-r--r-- 2 root root 203K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_strings.a
-rw-r--r-- 2 root root 3.3K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libopentelemetry_version.a
-rw-r--r-- 2 root root 6.8K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_stacktrace.a
-rw-r--r-- 2 root root 20K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_crc_internal.a
-rw-r--r-- 2 root root 30K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_graphcycles_internal.a
-rw-r--r-- 2 root root 27K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libmaxminddb.a
-rw-r--r-- 2 root root 71K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_flags_usage_internal.a
-rw-r--r-- 2 root root 2.7K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libbenchmark_main.a
-rw-r--r-- 2 root root 26K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_civil_time.a
-rw-r--r-- 2 root root 144K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libz.a
-rw-r--r-- 2 root root 19K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_cordz_info.a
-rw-r--r-- 2 root root 161K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_cord.a
-rw-r--r-- 2 root root 3.0K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/manual-link/libgtest_main.a
-rw-r--r-- 2 root root 2.9K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/manual-link/libgmock_main.a
-rw-r--r-- 2 root root 16K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_cordz_handle.a
-rw-r--r-- 2 root root 3.6K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_flags_commandlineflag_internal.a
-rw-r--r-- 2 root root 25K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_random_internal_pool_urbg.a
-rw-r--r-- 2 root root 2.1K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_low_level_hash.a
-rw-r--r-- 2 root root 14K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_random_distributions.a
-rw-r--r-- 2 root root 3.1K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_log_sink.a
-rw-r--r-- 2 root root 6.1K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_log_internal_proto.a
-rw-r--r-- 2 root root 25K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_flags_config.a
-rw-r--r-- 2 root root 7.5K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_raw_logging_internal.a
-rw-r--r-- 2 root root 985K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libgtest.a
-rw-r--r-- 2 root root 8.9K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_raw_hash_set.a
-rw-r--r-- 2 root root 3.7K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_die_if_null.a
-rw-r--r-- 2 root root 280K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libopentelemetry_exporter_ostream_span.a
-rw-r--r-- 2 root root 16K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_throw_delegate.a
-rw-r--r-- 2 root root 2.6M Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libopentelemetry_metrics.a
-rw-r--r-- 2 root root 6.7K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_log_internal_format.a
-rw-r--r-- 2 root root 94K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_cord_internal.a
-rw-r--r-- 2 root root 6.2K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_examine_stack.a
-rw-r--r-- 2 root root 54K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_status.a
-rw-r--r-- 2 root root 5.5K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_strerror.a
-rw-r--r-- 2 root root 2.9K Aug 27 15:45 ./build/vcpkg_installed/x64-linux/lib/libabsl_log_internal_conditions.a
Lib CPM VCPKG Diff
librocksdb.a 30M 33M 3M
libbuilder.a 8.9M 8.9M 0
libopentelemetry_metrics.a 1.7M 2.6M 900K
libserver.a 1.8M 2.3M 500K
libhlp.a 2.7M 2.4M 300K
libapi.a 4.2M 4.2M 0
librouter_router.a 1.7M 1.7M 0
libbase.a 9.27K 1.8M 1.79M
libbenchmark.a 963K 990K 27K
libfmt.a 229K 259K 30K
libbk_rx.a 994K 994K 0
libmetrics.a 735K 779K 44K
libgeo.a 754K 755K 1K
liblogpar.a 817K 817K 0
libkvdb.a 626K 627K 1K
libstore_fileDriver.a 298K 298K 0
libstore.a 310K 309K -1K
libschemf.a 728K 728K 0
libopentelemetry_exporter_ostream_metrics.a 94K 169K 75K
libopentelemetry_common.a 47K 90K 43K
libopentelemetry_resources.a 138K 222K 84K
libgtest.a 967K 985K 18K
libsockiface.a 446K 444K -2K
libdefs.a 206K 206K 0
libpugixml.a 327K 333K 6K
libbenchmark_main.a 2.4K 2.7K 0.3K
libmaxminddb.a 27K 27K 0
libgtest_main.a 3.0K 3.0K 0
libeMessages.a 1.6M 1.6M 0
libyml.a 160K 160K 0
librbac.a 16K 16K 0
libqueue.a 16K 16K 0
libprotobuf.a 6.3M 6.2M -100K
libre2.a 1.1M 835K -265K
libconf_cliconf.a 586K 586K 0
libspdlog.a 1.6M 1.3M -300K
libcmds.a 13M 13M 0
libgmock.a 232K 216K -16K
NahuFigueroa97 commented 2 weeks ago

Update

Evaluate Diff

NahuFigueroa97 commented 2 weeks ago

Update

The observed differences in library sizes between CPM and VCPKG are mainly due to the newer versions of the dependencies used in VCPKG, which may include new features, improvements, optimizations, or changes to the default build configuration.

To confirm whether the differences in library sizes are due solely to version updates, it would be advisable to revert to a previous commit where only CPM was used and then force the use of the same versions of the libraries that are currently being used in VCPKG. This approach would allow to isolate the differences caused by version changes and to more accurately analyze the impact that these newer versions have on the final size of the libraries.

This analysis will not only validate whether the observed differences are due to version changes, but will also provide a clearer view of the impact that the updated versions have on the size and possibly the performance of the libraries. This is essential to decide whether adopting the newer versions offers sufficient benefits in terms of functionality and optimization to outweigh any increase in binary size.

JcabreraC commented 2 weeks ago

Analysis

The table's diff calculations are incorrect. It currently appears as follows:

Lib CPM VCPKG Diff
librocksdb.a 30M 33M 3M
libbuilder.a 8.9M 8.9M 0
libopentelemetry_metrics.a 1.7M 2.6M 900K
libserver.a 1.8M 2.3M 500K
libhlp.a 2.7M 2.4M -300K
libapi.a 4.2M 4.2M 0
librouter_router.a 1.7M 1.7M 0
libbase.a 9.27K 1.8M 1.79M
libbenchmark.a 963K 990K 27K
libfmt.a 229K 259K 30K
libbk_rx.a 994K 994K 0
libmetrics.a 735K 779K 44K
libgeo.a 754K 755K 1K
liblogpar.a 817K 817K 0
libkvdb.a 626K 627K 1K
libstore_fileDriver.a 298K 298K 0
libstore.a 310K 309K -1K
libschemf.a 728K 728K 0
libopentelemetry_exporter_ostream_metrics.a 94K 169K 75K
libopentelemetry_common.a 47K 90K 43K
libopentelemetry_resources.a 138K 222K 84K
libgtest.a 967K 985K 18K
libsockiface.a 446K 444K -2K
libdefs.a 206K 206K 0
libpugixml.a 327K 333K 6K
libbenchmark_main.a 2.4K 2.7K 0.3K
libmaxminddb.a 27K 27K 0
libgtest_main.a 3.0K 3.0K 0
libeMessages.a 1.6M 1.6M 0
libyml.a 160K 160K 0
librbac.a 16K 16K 0
libqueue.a 16K 16K 0
libprotobuf.a 6.3M 6.2M -100K
libre2.a 1.1M 835K -265K
libconf_cliconf.a 586K 586K 0
libspdlog.a 1.6M 1.3M -300K
libcmds.a 13M 13M 0
libgmock.a 232K 216K -16K
Total 70.04M 71.84M 1.8M

Additionally, the total has been added, showing that the difference between VCPKG and CPM is only 1.8M.

Difference Type Total Size Difference
Positive Differences 5.411M
Negative Differences -3.544M

Conclusion

The memory increase, which is no more than 1.8MB, may be attributed to the fact that many libraries introduced for VCPKG have been upgraded to higher versions.

JcabreraC commented 2 weeks ago

After completing the analysis, the addition of VCPKG packages, and the implemented changes, the main binary remains as follows:

root@new-engine:/home/vagrant/engine/wazuh/src/engine# find . -name “main” -exec ls -lh {} ;
-rwxr-xr-x 1 root root root 31M Aug 27 15:56 ./build/main

This represents a 7MB reduction compared to the previous analysis and an 8MB increase compared to CPM. The increase is justified by the addition of new features and upgraded library versions.

JavierBejMen commented 2 weeks ago

LGTM