Skip to content

Commit 80b8d8d

Browse files
committed
Merge branch 'main' of github.com:valkey-io/valkey-search into bazel_cleanup
2 parents 0aba119 + 91c2c15 commit 80b8d8d

File tree

1 file changed

+55
-4
lines changed

1 file changed

+55
-4
lines changed

README.md

+55-4
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ If replica lag is acceptable, users can achieve horizontal query scaling by dire
2828

2929
## Performance
3030

31-
Valkey-Search achieves high performance by storing vectors in-memory and applying optimizations throughout the stack to efficiently use host resources, such as:
31+
Valkey-Search achieves high performance by storing vectors in-memory and applying optimizations throughout the stack to efficiently utilize the host resources, such as:
3232

3333
- **Parallelism:** Threading model that enables lock-free execution in the read path.
3434
- **CPU Cache Efficiency:** Designed to promote efficient use of CPU cache.
@@ -63,6 +63,8 @@ sudo apt install -y clangd \
6363
libgtest-dev \
6464
ninja-build \
6565
libssl-dev \
66+
clang-tidy \
67+
clang-format \
6668
libsystemd-dev
6769
```
6870

@@ -83,7 +85,12 @@ sudo yum update
8385
sudo yum install -y gcc \
8486
gcc-c++ \
8587
cmake \
88+
gtest \
89+
gtest-devel \
8690
ninja-build \
91+
openssl-devel \
92+
clang-tidy \
93+
clang-format \
8794
systemd-devel
8895
```
8996

@@ -107,7 +114,29 @@ Run unit tests with:
107114
./build.sh --run-tests
108115
```
109116

110-
Run integration tests with:
117+
#### Integration Tests
118+
119+
Install required dependencies (Ubuntu / Debian):
120+
121+
```sh
122+
sudo apt update
123+
sudo apt install -y lsb-release \
124+
curl \
125+
coreutils \
126+
libsystemd-dev \
127+
python3-pip \
128+
python3.12-venv \
129+
locales-all \
130+
locales \
131+
gpg
132+
133+
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
134+
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
135+
sudo apt update
136+
sudo apt-get install -y memtier-benchmark
137+
```
138+
139+
Run the integration tests with:
111140

112141
```sh
113142
./build.sh --run-integration-tests
@@ -133,6 +162,28 @@ For optimal performance, Valkey-Search will match the number of worker threads t
133162
valkey-server "--loadmodule /path/to/libsearch.so --reader-threads 64 --writer-threads 64"
134163
```
135164

136-
## Developer Guide
165+
## Development Environment
166+
167+
For development purposes, it is recommended to use <b>VSCode</b>, which is already configured to run within a Docker container and is integrated with clang-tidy and clang-format. Follow these steps to set up your environment:
168+
169+
1. <b>Install VSCode Extensions:</b>
170+
- Install the `Dev Containers` extension by Microsoft in VSCode.
171+
- Note: Building the code may take some time, and it is important to use a host with decent CPU capacity. If you prefer, you can use a remote host. In that case, also install the following extensions:
172+
- `Remote - SSH` by Microsoft
173+
- `Remote Explorer` by Microsoft
174+
175+
2. <b>Run the dev container setup script</b>
176+
- Issue the following command from the cloned repo root directory:
177+
```sh
178+
.devcontainer/setup.sh
179+
```
180+
181+
3. <b>Open the Repository in VSCode:</b>
182+
- On your local machine, open the root directory of the cloned valkey-search repository in VSCode.
183+
- If the repository is located on a remote host:
184+
1. Press Ctrl+Shift+P (Windows/Linux) or Cmd+Shift+P (macOS) to open the Command Palette.
185+
2. Type Remote-SSH: Connect to Host and select it.
186+
3. Choose the appropriate host and provide any necessary authentication details.
187+
188+
Once connected, VSCode will open the repository in the context of the remote host.
137189

138-
For detailed development instructions, please refer to the [Developer Guide](DEVELOPER.md).

0 commit comments

Comments
 (0)