From 980c1abdf264df67986f50dc8468f0de311b58e2 Mon Sep 17 00:00:00 2001 From: Kevin Kiningham Date: Wed, 17 Mar 2021 21:39:38 -0700 Subject: [PATCH] Add background to memory usage equations --- README.md | 8 ++++---- html/img/flat_mem_usage.png | Bin 0 -> 8657 bytes html/img/flat_peak.png | Bin 0 -> 9022 bytes html/img/node_mem_usage.png | Bin 0 -> 9198 bytes html/img/node_peak.png | Bin 0 -> 5651 bytes html/img/parallel_flat_peak.png | Bin 0 -> 9061 bytes html/img/parallel_node_peak.png | Bin 0 -> 5602 bytes 7 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 html/img/flat_mem_usage.png create mode 100644 html/img/flat_peak.png create mode 100644 html/img/node_mem_usage.png create mode 100644 html/img/node_peak.png create mode 100644 html/img/parallel_flat_peak.png create mode 100644 html/img/parallel_node_peak.png diff --git a/README.md b/README.md index c3f5778..d156030 100644 --- a/README.md +++ b/README.md @@ -144,10 +144,10 @@ When an ordering is not needed, a hash container is typically a better choice th | type | memory usage | additional *peak* memory usage when resizing | |-----------------------|-------------------|-----------------------------------------------| -| flat tables | ![flat_mem_usage](https://github.com/greg7mdp/parallel-hashmap/blob/master/html/img/flat_mem_usage.gif?raw=true) | ![flat_peak_usage](https://github.com/greg7mdp/parallel-hashmap/blob/master/html/img/flat_peak.gif?raw=true) | -| node tables | ![node_mem_usage](https://github.com/greg7mdp/parallel-hashmap/blob/master/html/img/node_mem_usage.gif?raw=true) | ![node_peak_usage](https://github.com/greg7mdp/parallel-hashmap/blob/master/html/img/node_peak.gif?raw=true) | -| parallel flat tables | ![flat_mem_usage](https://github.com/greg7mdp/parallel-hashmap/blob/master/html/img/flat_mem_usage.gif?raw=true) | ![parallel_flat_peak](https://github.com/greg7mdp/parallel-hashmap/blob/master/html/img/parallel_flat_peak.gif?raw=true) | -| parallel node tables | ![node_mem_usage](https://github.com/greg7mdp/parallel-hashmap/blob/master/html/img/node_mem_usage.gif?raw=true) | ![parallel_node_peak](https://github.com/greg7mdp/parallel-hashmap/blob/master/html/img/parallel_node_peak.gif?raw=true) | +| flat tables | ![flat_mem_usage](https://github.com/greg7mdp/parallel-hashmap/blob/master/html/img/flat_mem_usage.png?raw=true) | ![flat_peak_usage](https://github.com/greg7mdp/parallel-hashmap/blob/master/html/img/flat_peak.png?raw=true) | +| node tables | ![node_mem_usage](https://github.com/greg7mdp/parallel-hashmap/blob/master/html/img/node_mem_usage.png?raw=true) | ![node_peak_usage](https://github.com/greg7mdp/parallel-hashmap/blob/master/html/img/node_peak.png?raw=true) | +| parallel flat tables | ![flat_mem_usage](https://github.com/greg7mdp/parallel-hashmap/blob/master/html/img/flat_mem_usage.png?raw=true) | ![parallel_flat_peak](https://github.com/greg7mdp/parallel-hashmap/blob/master/html/img/parallel_flat_peak.png?raw=true) | +| parallel node tables | ![node_mem_usage](https://github.com/greg7mdp/parallel-hashmap/blob/master/html/img/node_mem_usage.png?raw=true) | ![parallel_node_peak](https://github.com/greg7mdp/parallel-hashmap/blob/master/html/img/parallel_node_peak.png?raw=true) | - *size()* is the number of values in the container, as returned by the size() method diff --git a/html/img/flat_mem_usage.png b/html/img/flat_mem_usage.png new file mode 100644 index 0000000000000000000000000000000000000000..800a53c651b585eb0b45d7bd5691b8f551873adf GIT binary patch literal 8657 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 literal 0 HcmV?d00001 diff --git a/html/img/flat_peak.png b/html/img/flat_peak.png new file mode 100644 index 0000000000000000000000000000000000000000..167edb80a91ab53944ad0187b8185baba5a2835b GIT binary patch literal 9022 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 CruxtT literal 0 HcmV?d00001 diff --git a/html/img/node_mem_usage.png b/html/img/node_mem_usage.png new file mode 100644 index 0000000000000000000000000000000000000000..15cb1e0fa404f4df8ee0668fb405e6bbd4b7ec64 GIT binary patch literal 9198 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 E0~-xZD*ylh literal 0 HcmV?d00001 diff --git a/html/img/parallel_flat_peak.png b/html/img/parallel_flat_peak.png new file mode 100644 index 0000000000000000000000000000000000000000..019104ef2765d62359cb9fdb597cfcd8b6b1da21 GIT binary patch literal 9061 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 Q*T+pAO#_WLYW9);2kYVsqW}N^ literal 0 HcmV?d00001