diff --git a/README.md b/README.md index c3b399ec..887e9895 100644 --- a/README.md +++ b/README.md @@ -453,6 +453,39 @@ The final goal of the library is to be able to write code like this in pure C wh } ``` +Performance +----------- + +M\*LIB performance is compared to the one of GNU C++ STL (v10.2) in the following graphs. +Each graph is presented in non-logarithmic and logarithmic scale to better realize. +M\*LIB is on par with the STL or even faster. + +#### Singly List + +![Singly List performance](https://raw.githubusercontent.com/P-p-H-d/mlib/master/doc/bench-list.png) +![Singly List performance - Log Scale](https://raw.githubusercontent.com/P-p-H-d/mlib/master/doc/bench-list.png) + +#### Array + +![Array performance](https://raw.githubusercontent.com/P-p-H-d/mlib/master/doc/bench-array.png) +![Array performance - Log Scale](https://raw.githubusercontent.com/P-p-H-d/mlib/master/doc/bench-array.png) + +#### Unordered Map + +![Unordered Map performance](https://raw.githubusercontent.com/P-p-H-d/mlib/master/doc/bench-umap.png) +![Unordered Map performance - Log Scale](https://raw.githubusercontent.com/P-p-H-d/mlib/master/doc/bench-umap.png) + +#### Ordered Set + +![Ordered Set performance](https://raw.githubusercontent.com/P-p-H-d/mlib/master/doc/bench-oset.png) +![Ordered Set performance - Log Scale](https://raw.githubusercontent.com/P-p-H-d/mlib/master/doc/bench-oset.png) + +#### Bench source + +All used bench codes are available in the bench directory. +The results for several libraries are available [in a separate page](https://github.com/P-p-H-d/mlib/wiki/performance). + + OPLIST ------ @@ -1017,12 +1050,6 @@ you should turn incompatible pointer type warning into an error in your compiler For GCC / CLANG, uses -Werror=incompatible-pointer-types -Benchmarks ----------- - -All bench codes are available in the bench directory. -The results are available [in a separate page](https://github.com/P-p-H-d/mlib/wiki/performance). - External Reference ------------------ diff --git a/doc/bench-array-log.png b/doc/bench-array-log.png new file mode 100644 index 00000000..28e13c54 Binary files /dev/null and b/doc/bench-array-log.png differ diff --git a/doc/bench-array.png b/doc/bench-array.png new file mode 100644 index 00000000..47d954de Binary files /dev/null and b/doc/bench-array.png differ diff --git a/doc/bench-list-log.png b/doc/bench-list-log.png new file mode 100644 index 00000000..58b0659d Binary files /dev/null and b/doc/bench-list-log.png differ diff --git a/doc/bench-list.png b/doc/bench-list.png new file mode 100644 index 00000000..54e86e48 Binary files /dev/null and b/doc/bench-list.png differ diff --git a/doc/bench-oset-log.png b/doc/bench-oset-log.png new file mode 100644 index 00000000..41ab1c5c Binary files /dev/null and b/doc/bench-oset-log.png differ diff --git a/doc/bench-oset.png b/doc/bench-oset.png new file mode 100644 index 00000000..195853bc Binary files /dev/null and b/doc/bench-oset.png differ diff --git a/doc/bench-umap-log.png b/doc/bench-umap-log.png new file mode 100644 index 00000000..ce0a7984 Binary files /dev/null and b/doc/bench-umap-log.png differ diff --git a/doc/bench-umap.png b/doc/bench-umap.png new file mode 100644 index 00000000..918d204d Binary files /dev/null and b/doc/bench-umap.png differ