From bbb1f23aecf952fd6570b132764ca7fa752202bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alf-Andr=C3=A9=20Walla?= Date: Tue, 15 Oct 2024 14:51:34 +0200 Subject: [PATCH] Add Mir benchmark --- static/img/performance/100k-floats.png | Bin 14405 -> 15516 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/static/img/performance/100k-floats.png b/static/img/performance/100k-floats.png index e64594b40414cc5f97059e04988dd54525256bde..b94fd3b8d4aa13e92b3bfe0c3c2d2a04f0f261ae 100644 GIT binary patch literal 15516 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 literal 14405 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