From 76fc8084cef9e6f2bb99ad3c82e004c38364309a Mon Sep 17 00:00:00 2001 From: EntireTwix Date: Mon, 5 Jul 2021 16:15:16 -0700 Subject: [PATCH] :books::zap: improved graph --- docs/features/GetBal().png | Bin 35773 -> 41532 bytes docs/features/implementation.md | 5 +++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/features/GetBal().png b/docs/features/GetBal().png index 1665f3f1b834bcedb415948ca787eb12a1e97920..4152b38db3e86ea671acd27beea24a5d490d359f 100644 GIT binary patch literal 41532 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%0AW)D!>1p1wuARSDYaNTP88xk1ej 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 diff --git a/docs/features/implementation.md b/docs/features/implementation.md index 9205ce2..4f7ac12 100644 --- a/docs/features/implementation.md +++ b/docs/features/implementation.md @@ -2,11 +2,12 @@ # Implementation Features ## Parallel Hashmap - + + below is `GetBal()` being called where `x` axis grows with # of users reaching 10 million users, `y` axis is time in ns. The name given is random between 0 and max users at that time as to provide more accurate results ![image](GetBal().png) -as the graph demonstrates, regardless of size GetBal remains consistent at around 50ns. +as the graph demonstrates, regardless of size GetBal remains consistent at around 50ns on my 3700x. ## xxHash ## base64 ## drogon webframework