Skip to content
This repository has been archived by the owner on Mar 22, 2023. It is now read-only.

Remove dead code #40

Merged
merged 2 commits into from
Dec 17, 2020
Merged
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
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
!.gitignore
!.gitattributes
*.bin
*.class
*.d
pmemkv_bench
/build/
56 changes: 1 addition & 55 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,64 +4,10 @@ reset:
rm -rf /dev/shm/pmemkv /tmp/pmemkv

clean: reset
rm -rf pmemkv_bench ./c/*.bin ./cpp/*.bin ./java/*.class
rm -rf pmemkv_bench

bench: reset
g++ ./bench/db_bench.cc ./bench/port/port_posix.cc ./bench/util/env.cc ./bench/util/env_posix.cc ./bench/util/histogram.cc ./bench/util/logging.cc ./bench/util/status.cc ./bench/util/testutil.cc -o pmemkv_bench -I./bench/include -I./bench -I./bench/util -O2 -std=c++11 -DOS_LINUX -fno-builtin-memcmp -march=native -DNDEBUG -ldl -lpthread -lpmemkv

run_bench: bench
PMEM_IS_PMEM_FORCE=1 ./pmemkv_bench --db=/dev/shm/pmemkv --db_size_in_gb=1 --histogram=1

baseline_c: reset
cd c
echo 'Build and run baseline.c'
cd .. && $(MAKE) reset

baseline_cpp: reset
cd cpp
g++ baseline.cc -o baseline.bin -O2 -std=c++11 -lpmemkv
PMEM_IS_PMEM_FORCE=1 ./baseline.bin
cd .. && $(MAKE) reset

baseline_java: reset
cd java
javac -cp ../../pmemkv-java/target/*.jar Baseline.java
PMEM_IS_PMEM_FORCE=1 java -Xms1G -cp .:`find ../../pmemkv-java/target -name *.jar` -Djava.library.path=/usr/local/lib Baseline
cd .. && $(MAKE) reset

baseline_nodejs: reset
cd nodejs
PMEM_IS_PMEM_FORCE=1 node baseline.js
cd .. && $(MAKE) reset

baseline_ruby: reset
cd ruby
PMEM_IS_PMEM_FORCE=1 ruby baseline.rb
cd .. && $(MAKE) reset

baseline_python: reset
cd python
PMEM_IS_PMEM_FORCE=1 python3 baseline.py
cd .. && $(MAKE) reset

iteration_cpp: reset
cd cpp
g++ iteration.cc -o iteration.bin -O2 -std=c++11 -lpmemkv
PMEM_IS_PMEM_FORCE=1 ./iteration.bin
cd .. && $(MAKE) reset

iteration_java: reset
cd java
javac -cp ../../pmemkv-java/target/*.jar Iteration.java
PMEM_IS_PMEM_FORCE=1 java -Xms1G -cp .:`find ../../pmemkv-java/target -name *.jar` -Djava.library.path=/usr/local/lib Iteration
cd .. && $(MAKE) reset

iteration_python: reset
cd python
PMEM_IS_PMEM_FORCE=1 python3 iteration.py
cd .. && $(MAKE) reset

storage_efficiency: reset
cd ruby
PMEM_IS_PMEM_FORCE=1 ruby storage_efficiency.rb
cd .. && $(MAKE) reset
75 changes: 7 additions & 68 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,12 @@
# pmemkv-tools
Optional tools and utilities for pmemkv
# pmemkv-bench
Benchmark for pmemkv and its underlying libraries, based on leveldb's db_bench.

*This is experimental pre-release software and should not be used in
production systems. APIs and file formats may change at any time without
preserving backwards compatibility. All known issues and limitations
are logged as GitHub issues.*

<a name="LD_LIBRARY_PATH"></a>

LD_LIBRARY_PATH
---------------

When running on Fedora, force the library path like this:

```
export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64
```

<a name="benchmarking"></a>

Benchmarking
------------
# Benchmarking

The `pmemkv_bench` utility provides some standard read & write benchmarks. This is
based on the `db_bench` utility included with LevelDB and RocksDB, although the
Expand Down Expand Up @@ -82,58 +68,11 @@ Benchmarking with poolset:
./pmemkv_bench --db=~/pmemkv.poolset
```

<a name="baselines"></a>

Baselines
---------

Baseline tests are simple single-threaded tests that compare average per-operation
latency between different language bindings and the `blackhole` engine. These are
used to analyze and improve performance of our language bindings.

Some of **baselines**, **examples** and other **programs**/**scripts** may use `tree3` engine,
which is not enabled in pmemkv by default. You have to enable it using CMake option:
`cmake .. -DENGINE_TREE3=ON`.
For more details see [pmemkv/INSTALLING.md](https://github.com/pmem/pmemkv/blob/master/INSTALLING.md).

```
make baseline_c
make baseline_cpp
make baseline_java
make baseline_nodejs
make baseline_ruby
make baseline_python
```

<a name="examples"></a>

Examples
--------

Examples are in individual repos:
* [pmemkv/examples](https://github.com/pmem/pmemkv/tree/master/examples)
* [pmemkv-java/examples](https://github.com/pmem/pmemkv-java/tree/master/examples)
* [pmemkv-nodejs/examples](https://github.com/pmem/pmemkv-nodejs/tree/master/examples)
* [pmemkv-ruby/examples](https://github.com/pmem/pmemkv-ruby/tree/master/examples)
* [pmemkv-python/examples](https://github.com/pmem/pmemkv-python/tree/master/examples)


Iteration
---------

These measure iteration performance against a dataset with 100M keys. (15GB total)

```
make iteration_cpp
make iteration_java
make iteration_python
```

Storage Efficiency
------------------
## Setting up environment

This script reports the storage efficiency for different engines and value sizes.
If pmemkv is installed in some non-standard path, `LD_LIBRARY_PATH` variable should be set
to the directory which contains `libpmemkv.so.1` file

```
make storage_efficiency
export LD_LIBRARY_PATH=</path/to/libpmemkv>
```
1 change: 0 additions & 1 deletion c/baseline.c

This file was deleted.

90 changes: 0 additions & 90 deletions cpp/baseline.cc

This file was deleted.

64 changes: 0 additions & 64 deletions cpp/iteration.cc

This file was deleted.

72 changes: 0 additions & 72 deletions java/Baseline.java

This file was deleted.

Loading