hazelcast / hazelcast/hazelcast-cpp-client

hazelcast_client.h inclusion brings 300k+ lines of code [API-2361]

Open
#1,034 1 comment 0 reactions 0 assignees View on GitHub
to-jira Type: Enhancement
Dominant language
C++
Stars
91
Forks
54
Avg merge
1d 12m
Merged PRs (30d)
5

Description

C++ compiler version: GCC 11.3.0
Hazelcast Cpp client version: 5.0.0
Hazelcast server version: -
Number of the clients: -
Cluster size, i.e. the number of Hazelcast cluster members: -
OS version (Windows/Linux/OSX):
Ubuntu 22.0.4

When `hazelcast_client.h` is included in a translation unit it brings 300k+ lines of code because of boost headers. It may be decreased by forward declaration technique to nearly 150-200k. It still degrades compilation duration of translation units.

`Boost` version is `1.76.0`

I shared the number of lines after preprocessing.
``` console
calynr@calynr:~$ g++ -E hazelcast/include/hazelcast/client/hazelcast_client.h | wc -l
322223
```
cpp-client heavily depends on `boost::future` header so
``` console
calynr@calynr:~$ g++ -E /usr/local/include/boost/thread/future.hpp | wc -l
161158
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.