From db18465ab3de064664bae1c2aac92ef9e34f50b4 Mon Sep 17 00:00:00 2001 From: gorhill Date: Tue, 9 Sep 2014 12:06:33 -0400 Subject: [PATCH] new memory benchmarks --- doc/img/ublock-vs-abp-memory-201409-a.png | Bin 0 -> 19270 bytes doc/img/ublock-vs-abp-memory-201409-b.png | Bin 0 -> 18316 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/img/ublock-vs-abp-memory-201409-a.png create mode 100644 doc/img/ublock-vs-abp-memory-201409-b.png diff --git a/doc/img/ublock-vs-abp-memory-201409-a.png b/doc/img/ublock-vs-abp-memory-201409-a.png new file mode 100644 index 0000000000000000000000000000000000000000..366ab58519871ea16571a5f6ce465ba1b607aeed GIT binary patch literal 19270 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 U`dV1HtN;K207*qoM6N<$f{gb;m;e9( literal 0 HcmV?d00001 diff --git a/doc/img/ublock-vs-abp-memory-201409-b.png b/doc/img/ublock-vs-abp-memory-201409-b.png new file mode 100644 index 0000000000000000000000000000000000000000..03ec79e7fafa356e963d5f18ebadd4192888c3bb GIT binary patch literal 18316 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 literal 0 HcmV?d00001