From e8352d1810f5fe0f233049b8d56b4e95403addd9 Mon Sep 17 00:00:00 2001 From: OusmBlueNinja <89956790+OusmBlueNinja@users.noreply.github.com> Date: Wed, 16 Apr 2025 22:41:08 -0500 Subject: [PATCH] ran more tests --- .vscode/settings.json | 10 ++++++++++ README.md | 20 +++++++++++++++++++- images/image-1.png | Bin 0 -> 19704 bytes images/image-2.png | Bin 0 -> 18416 bytes image.png => images/image.png | Bin src/test.cpp | 8 ++++---- 6 files changed, 33 insertions(+), 5 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 images/image-1.png create mode 100644 images/image-2.png rename image.png => images/image.png (100%) diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..9699001 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,10 @@ +{ + "files.associations": { + "*.pyx": "python", + "*.js": "javascript", + "*.c": "c", + "*.scene": "yaml", + "*.cene": "yaml", + "iomanip": "cpp" + } +} \ No newline at end of file diff --git a/README.md b/README.md index cbe22bb..9b162ff 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,25 @@ # Fast-Vector ## 1.07 times faster +With O3 flag + A Backwards Compatible Vector Class, that's fast. -![alt text](image.png) \ No newline at end of file +## Test: + +### 100,000,000 push_backs +![alt text](images/image.png) + +### 100,000 push_backs + +![alt text](images/image-1.png)images/ + + +### 100 push_backs + +![alt text](images/image-2.png) + + +Note: +Speeds May Very based on use. \ No newline at end of file diff --git a/images/image-1.png b/images/image-1.png new file mode 100644 index 0000000000000000000000000000000000000000..57c9a17293e9237e6967d6ed3431791f209dd8d4 GIT binary patch literal 19704 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 literal 0 HcmV?d00001 diff --git a/images/image-2.png b/images/image-2.png new file mode 100644 index 0000000000000000000000000000000000000000..c154d54ea6e66c77ec76cb6af3556e2c9b36d452 GIT binary patch literal 18416 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