Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,21 @@
.vscode/
.cache/
**/.cache/
build/
**/build/
strfry
strfry-db*
**/strfry-db*
node_modules/
**/*.o
**/*.d
**/*.a
**/*.so
**/*_test
**/timer_test
**/zerocopy_test
*.md
*.Dockerfile
Dockerfile
.gitignore


21 changes: 20 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,23 @@
/strfry-db-test*
/seeds/
node_modules/
.DS_Store
.DS_Store
__pycache__/
*.pyc
bench/alloc_tracker.so
bench/allocs.txt
bench/perf.txt
bench/det_new.json
bench/det_old.json
bench/test_seed.jsonl
benchmark_comparison.md
benchmark_report*.md
bench/flamegraphs/
bench/perf*.data*
bench/seed_*.jsonl
strfry-db-perf/
strfry-db-det/
strfry-db-negentropy*/
bench/*_temp.*
*.svg
perf.data*
3 changes: 1 addition & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -49,15 +49,14 @@ RUN \

# Create a non-root user for security
RUN adduser -D -h /app -s /bin/sh strfry && \
mkdir -p /app/strfry-db && \
chown -R strfry:strfry /app

# Switch to the unprivileged user
USER strfry

COPY --from=build --chown=strfry:strfry /build/strfry /app/strfry
COPY --from=build --chown=strfry:strfry /build/strfry.conf /app/strfry.conf
COPY --from=build --chown=strfry:strfry /build/strfry-db /app/strfry-db

EXPOSE 7777

ENTRYPOINT ["/app/strfry"]
Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ If you are using strfry, please [join our telegram chat](https://t.me/strfry_use
* [Router](#router)
* [Syncing](#syncing)
* [Compression Dictionaries](#compression-dictionaries)
* [Benchmarking & Performance](#benchmarking-performance)
* [Learn More](#learn-more)
* [Author and Copyright](#author-and-copyright)

Expand Down Expand Up @@ -395,6 +396,9 @@ After building dictionaries, selections of events can be compressed with `strfry

`strfry dict stats` can be used to print out stats for the various dictionaries, including size used by the dataset, compression ratios, etc.

### Benchmarking Performance

strfry includes a comprehensive benchmarking and relative A/B comparison suite in `bench/`, supporting deterministic instruction/allocation tracking, WebSocket stress testing, and hardware flamegraph profiling. See [docs/benchmarking.md](docs/benchmarking.md) for detailed instructions on running benchmarks, profiling with `perf`, and interpreting results.


## Learn More
Expand Down
Loading
Loading