From b101ad985d5237cc6f6ca920f358d9268d200c7a Mon Sep 17 00:00:00 2001 From: mpage Date: Wed, 18 Dec 2024 06:10:54 +0000 Subject: [PATCH] Benchmarking results for @mpage --- README.md | 1 + RESULTS.md | 1 + configs.svg | 48 +- .../bm-20241217-3.14.0a2+-699f4e9/README.md | 43 + ..._specialize-3.14.0a2+-699f4e9-vs-3.12.6.md | 206 + ...specialize-3.14.0a2+-699f4e9-vs-3.12.6.svg | 3067 ++++++++++++++ ...ecialize-3.14.0a2+-699f4e9-vs-3.13.0rc2.md | 201 + ...cialize-3.14.0a2+-699f4e9-vs-3.13.0rc2.svg | 2960 +++++++++++++ ...ecialize-3.14.0a2+-699f4e9-vs-base-mem.svg | 3701 +++++++++++++++++ ...99_specialize-3.14.0a2+-699f4e9-vs-base.md | 167 + ...9_specialize-3.14.0a2+-699f4e9-vs-base.svg | 3431 +++++++++++++++ 11 files changed, 13802 insertions(+), 24 deletions(-) create mode 100644 results/bm-20241217-3.14.0a2+-699f4e9/README.md create mode 100644 results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9-vs-3.12.6.md create mode 100644 results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9-vs-3.12.6.svg create mode 100644 results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9-vs-3.13.0rc2.md create mode 100644 results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9-vs-3.13.0rc2.svg create mode 100644 results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9-vs-base-mem.svg create mode 100644 results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9-vs-base.md create mode 100644 results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9-vs-base.svg diff --git a/README.md b/README.md index acf8071a..15a2f821 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,7 @@ Here are some recent and important revisions. πŸ‘‰ [Complete list of results](RE | --- | --- | --- | ---: | ---: | ---: | | [2024-12-18](results/bm-20241218-3.14.0a3%2B-b92f101-NOGIL) | python/b92f101d0f19a1df3205 | b92f101 (NOGIL) | 1.214x ↓
[πŸ“„](results/bm-20241218-3.14.0a3%2B-b92f101-NOGIL/bm-20241218-vultr-x86_64-python-b92f101d0f19a1df3205-3.14.0a3%2B-b92f101-vs-3.12.6.md)[πŸ“ˆ](results/bm-20241218-3.14.0a3%2B-b92f101-NOGIL/bm-20241218-vultr-x86_64-python-b92f101d0f19a1df3205-3.14.0a3%2B-b92f101-vs-3.12.6.svg) | 1.240x ↓
[πŸ“„](results/bm-20241218-3.14.0a3%2B-b92f101-NOGIL/bm-20241218-vultr-x86_64-python-b92f101d0f19a1df3205-3.14.0a3%2B-b92f101-vs-3.13.0rc2.md)[πŸ“ˆ](results/bm-20241218-3.14.0a3%2B-b92f101-NOGIL/bm-20241218-vultr-x86_64-python-b92f101d0f19a1df3205-3.14.0a3%2B-b92f101-vs-3.13.0rc2.svg) | 1.269x ↓
[πŸ“„](results/bm-20241218-3.14.0a3%2B-b92f101-NOGIL/bm-20241218-vultr-x86_64-python-b92f101d0f19a1df3205-3.14.0a3%2B-b92f101-vs-base.md)[πŸ“ˆ](results/bm-20241218-3.14.0a3%2B-b92f101-NOGIL/bm-20241218-vultr-x86_64-python-b92f101d0f19a1df3205-3.14.0a3%2B-b92f101-vs-base.svg)[🧠](results/bm-20241218-3.14.0a3%2B-b92f101-NOGIL/bm-20241218-vultr-x86_64-python-b92f101d0f19a1df3205-3.14.0a3%2B-b92f101-vs-base-mem.svg) | | [2024-12-18](results/bm-20241218-3.14.0a3%2B-b92f101) | python/b92f101d0f19a1df3205 | b92f101 | 1.085x ↑
[πŸ“„](results/bm-20241218-3.14.0a3%2B-b92f101/bm-20241218-vultr-x86_64-python-b92f101d0f19a1df3205-3.14.0a3%2B-b92f101-vs-3.12.6.md)[πŸ“ˆ](results/bm-20241218-3.14.0a3%2B-b92f101/bm-20241218-vultr-x86_64-python-b92f101d0f19a1df3205-3.14.0a3%2B-b92f101-vs-3.12.6.svg) | 1.046x ↑
[πŸ“„](results/bm-20241218-3.14.0a3%2B-b92f101/bm-20241218-vultr-x86_64-python-b92f101d0f19a1df3205-3.14.0a3%2B-b92f101-vs-3.13.0rc2.md)[πŸ“ˆ](results/bm-20241218-3.14.0a3%2B-b92f101/bm-20241218-vultr-x86_64-python-b92f101d0f19a1df3205-3.14.0a3%2B-b92f101-vs-3.13.0rc2.svg) | | +| [2024-12-17](results/bm-20241217-3.14.0a2%2B-699f4e9) | nascheme/gh_115999_specialize | 699f4e9 | 1.079x ↑
[πŸ“„](results/bm-20241217-3.14.0a2%2B-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-3.12.6.md)[πŸ“ˆ](results/bm-20241217-3.14.0a2%2B-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-3.12.6.svg) | 1.040x ↑
[πŸ“„](results/bm-20241217-3.14.0a2%2B-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-3.13.0rc2.md)[πŸ“ˆ](results/bm-20241217-3.14.0a2%2B-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-3.13.0rc2.svg) | 1.005x ↓
[πŸ“„](results/bm-20241217-3.14.0a2%2B-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-base.md)[πŸ“ˆ](results/bm-20241217-3.14.0a2%2B-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-base.svg)[🧠](results/bm-20241217-3.14.0a2%2B-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-base-mem.svg) | | [2024-12-17](results/bm-20241217-3.14.0a2%2B-699f4e9-NOGIL) | nascheme/gh_115999_specialize | 699f4e9 (NOGIL) | 1.206x ↓
[πŸ“„](results/bm-20241217-3.14.0a2%2B-699f4e9-NOGIL/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-3.12.6.md)[πŸ“ˆ](results/bm-20241217-3.14.0a2%2B-699f4e9-NOGIL/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-3.12.6.svg) | 1.231x ↓
[πŸ“„](results/bm-20241217-3.14.0a2%2B-699f4e9-NOGIL/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-3.13.0rc2.md)[πŸ“ˆ](results/bm-20241217-3.14.0a2%2B-699f4e9-NOGIL/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-3.13.0rc2.svg) | 1.012x ↑
[πŸ“„](results/bm-20241217-3.14.0a2%2B-699f4e9-NOGIL/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-base.md)[πŸ“ˆ](results/bm-20241217-3.14.0a2%2B-699f4e9-NOGIL/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-base.svg)[🧠](results/bm-20241217-3.14.0a2%2B-699f4e9-NOGIL/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-base-mem.svg) | | [2024-12-17](results/bm-20241217-3.14.0a2%2B-3aa9426) | corona10/gh_115999_BINARY_SUB | 3aa9426 | 1.061x ↑
[πŸ“„](results/bm-20241217-3.14.0a2%2B-3aa9426/bm-20241217-vultr-x86_64-corona10-gh_115999_BINARY_SUB-3.14.0a2%2B-3aa9426-vs-3.12.6.md)[πŸ“ˆ](results/bm-20241217-3.14.0a2%2B-3aa9426/bm-20241217-vultr-x86_64-corona10-gh_115999_BINARY_SUB-3.14.0a2%2B-3aa9426-vs-3.12.6.svg) | 1.022x ↑
[πŸ“„](results/bm-20241217-3.14.0a2%2B-3aa9426/bm-20241217-vultr-x86_64-corona10-gh_115999_BINARY_SUB-3.14.0a2%2B-3aa9426-vs-3.13.0rc2.md)[πŸ“ˆ](results/bm-20241217-3.14.0a2%2B-3aa9426/bm-20241217-vultr-x86_64-corona10-gh_115999_BINARY_SUB-3.14.0a2%2B-3aa9426-vs-3.13.0rc2.svg) | 1.004x ↓
[πŸ“„](results/bm-20241217-3.14.0a2%2B-3aa9426/bm-20241217-vultr-x86_64-corona10-gh_115999_BINARY_SUB-3.14.0a2%2B-3aa9426-vs-base.md)[πŸ“ˆ](results/bm-20241217-3.14.0a2%2B-3aa9426/bm-20241217-vultr-x86_64-corona10-gh_115999_BINARY_SUB-3.14.0a2%2B-3aa9426-vs-base.svg)[🧠](results/bm-20241217-3.14.0a2%2B-3aa9426/bm-20241217-vultr-x86_64-corona10-gh_115999_BINARY_SUB-3.14.0a2%2B-3aa9426-vs-base-mem.svg) | | [2024-12-17](results/bm-20241217-3.14.0a2%2B-3aa9426-NOGIL) | corona10/gh_115999_BINARY_SUB | 3aa9426 (NOGIL) | 1.226x ↓
[πŸ“„](results/bm-20241217-3.14.0a2%2B-3aa9426-NOGIL/bm-20241217-vultr-x86_64-corona10-gh_115999_BINARY_SUB-3.14.0a2%2B-3aa9426-vs-3.12.6.md)[πŸ“ˆ](results/bm-20241217-3.14.0a2%2B-3aa9426-NOGIL/bm-20241217-vultr-x86_64-corona10-gh_115999_BINARY_SUB-3.14.0a2%2B-3aa9426-vs-3.12.6.svg) | 1.250x ↓
[πŸ“„](results/bm-20241217-3.14.0a2%2B-3aa9426-NOGIL/bm-20241217-vultr-x86_64-corona10-gh_115999_BINARY_SUB-3.14.0a2%2B-3aa9426-vs-3.13.0rc2.md)[πŸ“ˆ](results/bm-20241217-3.14.0a2%2B-3aa9426-NOGIL/bm-20241217-vultr-x86_64-corona10-gh_115999_BINARY_SUB-3.14.0a2%2B-3aa9426-vs-3.13.0rc2.svg) | 1.006x ↑
[πŸ“„](results/bm-20241217-3.14.0a2%2B-3aa9426-NOGIL/bm-20241217-vultr-x86_64-corona10-gh_115999_BINARY_SUB-3.14.0a2%2B-3aa9426-vs-base.md)[πŸ“ˆ](results/bm-20241217-3.14.0a2%2B-3aa9426-NOGIL/bm-20241217-vultr-x86_64-corona10-gh_115999_BINARY_SUB-3.14.0a2%2B-3aa9426-vs-base.svg)[🧠](results/bm-20241217-3.14.0a2%2B-3aa9426-NOGIL/bm-20241217-vultr-x86_64-corona10-gh_115999_BINARY_SUB-3.14.0a2%2B-3aa9426-vs-base-mem.svg) | diff --git a/RESULTS.md b/RESULTS.md index 29b0b822..b14e2092 100644 --- a/RESULTS.md +++ b/RESULTS.md @@ -203,6 +203,7 @@ | --- | --- | --- | ---: | ---: | ---: | | [2024-12-18](results/bm-20241218-3.14.0a3%2B-b92f101-NOGIL) | python/b92f101d0f19a1df3205 | b92f101 (NOGIL) | 1.214x ↓
[πŸ“„](results/bm-20241218-3.14.0a3%2B-b92f101-NOGIL/bm-20241218-vultr-x86_64-python-b92f101d0f19a1df3205-3.14.0a3%2B-b92f101-vs-3.12.6.md)[πŸ“ˆ](results/bm-20241218-3.14.0a3%2B-b92f101-NOGIL/bm-20241218-vultr-x86_64-python-b92f101d0f19a1df3205-3.14.0a3%2B-b92f101-vs-3.12.6.svg) | 1.240x ↓
[πŸ“„](results/bm-20241218-3.14.0a3%2B-b92f101-NOGIL/bm-20241218-vultr-x86_64-python-b92f101d0f19a1df3205-3.14.0a3%2B-b92f101-vs-3.13.0rc2.md)[πŸ“ˆ](results/bm-20241218-3.14.0a3%2B-b92f101-NOGIL/bm-20241218-vultr-x86_64-python-b92f101d0f19a1df3205-3.14.0a3%2B-b92f101-vs-3.13.0rc2.svg) | 1.269x ↓
[πŸ“„](results/bm-20241218-3.14.0a3%2B-b92f101-NOGIL/bm-20241218-vultr-x86_64-python-b92f101d0f19a1df3205-3.14.0a3%2B-b92f101-vs-base.md)[πŸ“ˆ](results/bm-20241218-3.14.0a3%2B-b92f101-NOGIL/bm-20241218-vultr-x86_64-python-b92f101d0f19a1df3205-3.14.0a3%2B-b92f101-vs-base.svg)[🧠](results/bm-20241218-3.14.0a3%2B-b92f101-NOGIL/bm-20241218-vultr-x86_64-python-b92f101d0f19a1df3205-3.14.0a3%2B-b92f101-vs-base-mem.svg) | | [2024-12-18](results/bm-20241218-3.14.0a3%2B-b92f101) | python/b92f101d0f19a1df3205 | b92f101 | 1.085x ↑
[πŸ“„](results/bm-20241218-3.14.0a3%2B-b92f101/bm-20241218-vultr-x86_64-python-b92f101d0f19a1df3205-3.14.0a3%2B-b92f101-vs-3.12.6.md)[πŸ“ˆ](results/bm-20241218-3.14.0a3%2B-b92f101/bm-20241218-vultr-x86_64-python-b92f101d0f19a1df3205-3.14.0a3%2B-b92f101-vs-3.12.6.svg) | 1.046x ↑
[πŸ“„](results/bm-20241218-3.14.0a3%2B-b92f101/bm-20241218-vultr-x86_64-python-b92f101d0f19a1df3205-3.14.0a3%2B-b92f101-vs-3.13.0rc2.md)[πŸ“ˆ](results/bm-20241218-3.14.0a3%2B-b92f101/bm-20241218-vultr-x86_64-python-b92f101d0f19a1df3205-3.14.0a3%2B-b92f101-vs-3.13.0rc2.svg) | | +| [2024-12-17](results/bm-20241217-3.14.0a2%2B-699f4e9) | nascheme/gh_115999_specialize | 699f4e9 | 1.079x ↑
[πŸ“„](results/bm-20241217-3.14.0a2%2B-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-3.12.6.md)[πŸ“ˆ](results/bm-20241217-3.14.0a2%2B-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-3.12.6.svg) | 1.040x ↑
[πŸ“„](results/bm-20241217-3.14.0a2%2B-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-3.13.0rc2.md)[πŸ“ˆ](results/bm-20241217-3.14.0a2%2B-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-3.13.0rc2.svg) | 1.005x ↓
[πŸ“„](results/bm-20241217-3.14.0a2%2B-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-base.md)[πŸ“ˆ](results/bm-20241217-3.14.0a2%2B-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-base.svg)[🧠](results/bm-20241217-3.14.0a2%2B-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-base-mem.svg) | | [2024-12-17](results/bm-20241217-3.14.0a2%2B-699f4e9-NOGIL) | nascheme/gh_115999_specialize | 699f4e9 (NOGIL) | 1.206x ↓
[πŸ“„](results/bm-20241217-3.14.0a2%2B-699f4e9-NOGIL/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-3.12.6.md)[πŸ“ˆ](results/bm-20241217-3.14.0a2%2B-699f4e9-NOGIL/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-3.12.6.svg) | 1.231x ↓
[πŸ“„](results/bm-20241217-3.14.0a2%2B-699f4e9-NOGIL/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-3.13.0rc2.md)[πŸ“ˆ](results/bm-20241217-3.14.0a2%2B-699f4e9-NOGIL/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-3.13.0rc2.svg) | 1.012x ↑
[πŸ“„](results/bm-20241217-3.14.0a2%2B-699f4e9-NOGIL/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-base.md)[πŸ“ˆ](results/bm-20241217-3.14.0a2%2B-699f4e9-NOGIL/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-base.svg)[🧠](results/bm-20241217-3.14.0a2%2B-699f4e9-NOGIL/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-base-mem.svg) | | [2024-12-17](results/bm-20241217-3.14.0a2%2B-3aa9426) | corona10/gh_115999_BINARY_SUB | 3aa9426 | 1.061x ↑
[πŸ“„](results/bm-20241217-3.14.0a2%2B-3aa9426/bm-20241217-vultr-x86_64-corona10-gh_115999_BINARY_SUB-3.14.0a2%2B-3aa9426-vs-3.12.6.md)[πŸ“ˆ](results/bm-20241217-3.14.0a2%2B-3aa9426/bm-20241217-vultr-x86_64-corona10-gh_115999_BINARY_SUB-3.14.0a2%2B-3aa9426-vs-3.12.6.svg) | 1.022x ↑
[πŸ“„](results/bm-20241217-3.14.0a2%2B-3aa9426/bm-20241217-vultr-x86_64-corona10-gh_115999_BINARY_SUB-3.14.0a2%2B-3aa9426-vs-3.13.0rc2.md)[πŸ“ˆ](results/bm-20241217-3.14.0a2%2B-3aa9426/bm-20241217-vultr-x86_64-corona10-gh_115999_BINARY_SUB-3.14.0a2%2B-3aa9426-vs-3.13.0rc2.svg) | 1.004x ↓
[πŸ“„](results/bm-20241217-3.14.0a2%2B-3aa9426/bm-20241217-vultr-x86_64-corona10-gh_115999_BINARY_SUB-3.14.0a2%2B-3aa9426-vs-base.md)[πŸ“ˆ](results/bm-20241217-3.14.0a2%2B-3aa9426/bm-20241217-vultr-x86_64-corona10-gh_115999_BINARY_SUB-3.14.0a2%2B-3aa9426-vs-base.svg)[🧠](results/bm-20241217-3.14.0a2%2B-3aa9426/bm-20241217-vultr-x86_64-corona10-gh_115999_BINARY_SUB-3.14.0a2%2B-3aa9426-vs-base-mem.svg) | | [2024-12-17](results/bm-20241217-3.14.0a2%2B-3aa9426-NOGIL) | corona10/gh_115999_BINARY_SUB | 3aa9426 (NOGIL) | 1.226x ↓
[πŸ“„](results/bm-20241217-3.14.0a2%2B-3aa9426-NOGIL/bm-20241217-vultr-x86_64-corona10-gh_115999_BINARY_SUB-3.14.0a2%2B-3aa9426-vs-3.12.6.md)[πŸ“ˆ](results/bm-20241217-3.14.0a2%2B-3aa9426-NOGIL/bm-20241217-vultr-x86_64-corona10-gh_115999_BINARY_SUB-3.14.0a2%2B-3aa9426-vs-3.12.6.svg) | 1.250x ↓
[πŸ“„](results/bm-20241217-3.14.0a2%2B-3aa9426-NOGIL/bm-20241217-vultr-x86_64-corona10-gh_115999_BINARY_SUB-3.14.0a2%2B-3aa9426-vs-3.13.0rc2.md)[πŸ“ˆ](results/bm-20241217-3.14.0a2%2B-3aa9426-NOGIL/bm-20241217-vultr-x86_64-corona10-gh_115999_BINARY_SUB-3.14.0a2%2B-3aa9426-vs-3.13.0rc2.svg) | 1.006x ↑
[πŸ“„](results/bm-20241217-3.14.0a2%2B-3aa9426-NOGIL/bm-20241217-vultr-x86_64-corona10-gh_115999_BINARY_SUB-3.14.0a2%2B-3aa9426-vs-base.md)[πŸ“ˆ](results/bm-20241217-3.14.0a2%2B-3aa9426-NOGIL/bm-20241217-vultr-x86_64-corona10-gh_115999_BINARY_SUB-3.14.0a2%2B-3aa9426-vs-base.svg)[🧠](results/bm-20241217-3.14.0a2%2B-3aa9426-NOGIL/bm-20241217-vultr-x86_64-corona10-gh_115999_BINARY_SUB-3.14.0a2%2B-3aa9426-vs-base-mem.svg) | diff --git a/configs.svg b/configs.svg index 0af3b141..cc0587bd 100644 --- a/configs.svg +++ b/configs.svg @@ -8,9 +8,9 @@ - + - + @@ -28,7 +28,7 @@ - + @@ -42,7 +42,7 @@ - + @@ -56,7 +56,7 @@ - + @@ -67,7 +67,7 @@ - + @@ -79,9 +79,9 @@ - + - + @@ -95,7 +95,7 @@ - + @@ -107,7 +107,7 @@ - + @@ -116,7 +116,7 @@ - + @@ -125,7 +125,7 @@ - + @@ -428,49 +428,49 @@ - + - + - + - + - + - + - + @@ -479,7 +479,7 @@ - + @@ -488,7 +488,7 @@ - + @@ -497,7 +497,7 @@ - + @@ -506,7 +506,7 @@ - + @@ -515,7 +515,7 @@ - + diff --git a/results/bm-20241217-3.14.0a2+-699f4e9/README.md b/results/bm-20241217-3.14.0a2+-699f4e9/README.md new file mode 100644 index 00000000..fcf1458b --- /dev/null +++ b/results/bm-20241217-3.14.0a2+-699f4e9/README.md @@ -0,0 +1,43 @@ +# Results + +- fork: nascheme/gh_115999_specialize +- version: 3.14.0a2+ +- config: +- commit hash: [699f4e9](https://github.com/nascheme/cpython/commit/699f4e9) +- commit date: 2024-12-17T13:59:12-08:00 +- commit merge base: [2de048ce79e621f5ae0574095b9600fe8595f607](https://github.com/python/cpython/commit/2de048ce79e621f5ae0574095b9600fe8595f607) +- ref: gh_115999_specialize + +## linux x86_64 (vultr) + +- [GitHub Action run](https://github.com/facebookexperimental/free-threading-benchmarking/actions/runs/12384451699) +- cpu model: Intel(R) Xeon(R) E-2286G CPU @ 4.00GHz +- platform: Linux-6.8.0-45-generic-x86_64-with-glibc2.39 +- [raw results](bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9.json) + +### vs. 3.12.6 + +- Geometric mean: 1.079x faster (HPT: reliability of 100.00%, 1.04x faster at 99th %ile) +- Memory usage: 1.11x +- missing benchmarks: aiohttp, asyncio_tcp, asyncio_tcp_ssl, chameleon, dask, flaskblogging, gunicorn, html5lib, mypy2, pickle, pickle_dict, pickle_list, tornado_http, unpack_sequence, unpickle, unpickle_list +- new benchmarks: connected_components, k_core, many_optionals, shortest_path, sphinx, subparsers +- [πŸ“„table](bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-3.12.6.md) +- [πŸ“ˆtime plot](bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-3.12.6.svg) + +### vs. 3.13.0rc2 + +- Geometric mean: 1.040x faster (HPT: reliability of 100.00%, 1.01x faster at 99th %ile) +- Memory usage: 1.09x +- missing benchmarks: aiohttp, asyncio_tcp, asyncio_tcp_ssl, chameleon, dask, flaskblogging, gunicorn, html5lib, pickle, pickle_dict, pickle_list, tornado_http, unpack_sequence, unpickle, unpickle_list +- new benchmarks: connected_components, k_core, many_optionals, shortest_path, sphinx, sqlalchemy_declarative, sqlalchemy_imperative, subparsers +- [πŸ“„table](bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-3.13.0rc2.md) +- [πŸ“ˆtime plot](bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-3.13.0rc2.svg) + +### vs. base + +- Geometric mean: 1.005x slower (HPT: reliability of 97.76%, 1.00x slower at 99th %ile) +- Memory usage: 1.00x +- [🧠memory plot](bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-base-mem.svg) +- [πŸ“„table](bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-base.md) +- [πŸ“ˆtime plot](bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2%2B-699f4e9-vs-base.svg) + diff --git a/results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9-vs-3.12.6.md b/results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9-vs-3.12.6.md new file mode 100644 index 00000000..7910ba63 --- /dev/null +++ b/results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9-vs-3.12.6.md @@ -0,0 +1,206 @@ +# Results vs. 3.12.6 + +- fork: nascheme +- ref: gh_115999_specialize +- machine: linux-x86_64 +- commit hash: 699f4e9 +- commit date: 2024-12-17 +- overall geometric mean: 1.079x faster +- HPT reliability: 100.00% +- HPT 99th percentile: 1.04x faster +- Memory change: 1.11x + +Benchmarks with tag 'apps': +=========================== + +| Benchmark | bm-20240906-vultr-x86_64-python-v3.12.6-3.12.6-a4a2d2b | bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9 | +|----------------|:------------------------------------------------------:|:------------------------------------------------------------------------:| +| 2to3 | 264 ms | 256 ms: 1.03x faster | +| docutils | 2.64 sec | 2.56 sec: 1.03x faster | +| Geometric mean | (ref) | 1.03x faster | + +Benchmarks with tag 'asyncio': +============================== + +| Benchmark | bm-20240906-vultr-x86_64-python-v3.12.6-3.12.6-a4a2d2b | bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9 | +|----------------------------|:------------------------------------------------------:|:------------------------------------------------------------------------:| +| async_tree_memoization_tg | 560 ms | 308 ms: 1.81x faster | +| async_tree_io_tg | 1.11 sec | 615 ms: 1.81x faster | +| async_tree_none_tg | 446 ms | 258 ms: 1.73x faster | +| async_tree_io | 1.08 sec | 628 ms: 1.72x faster | +| async_tree_none | 464 ms | 278 ms: 1.67x faster | +| async_tree_memoization | 555 ms | 334 ms: 1.66x faster | +| async_tree_cpu_io_mixed_tg | 723 ms | 547 ms: 1.32x faster | +| async_tree_cpu_io_mixed | 715 ms | 569 ms: 1.26x faster | +| async_generators | 384 ms | 355 ms: 1.08x faster | +| coroutines | 23.9 ms | 22.1 ms: 1.08x faster | +| asyncio_websockets | 517 ms | 522 ms: 1.01x slower | +| Geometric mean | (ref) | 1.43x faster | + +Benchmarks with tag 'math': +=========================== + +| Benchmark | bm-20240906-vultr-x86_64-python-v3.12.6-3.12.6-a4a2d2b | bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9 | +|----------------|:------------------------------------------------------:|:------------------------------------------------------------------------:| +| float | 80.8 ms | 76.4 ms: 1.06x faster | +| pidigits | 184 ms | 217 ms: 1.18x slower | +| Geometric mean | (ref) | 1.04x slower | + +Benchmark hidden because not significant (1): nbody + +Benchmarks with tag 'regex': +============================ + +| Benchmark | bm-20240906-vultr-x86_64-python-v3.12.6-3.12.6-a4a2d2b | bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9 | +|----------------|:------------------------------------------------------:|:------------------------------------------------------------------------:| +| regex_effbot | 3.17 ms | 2.72 ms: 1.16x faster | +| regex_compile | 142 ms | 127 ms: 1.12x faster | +| regex_dna | 168 ms | 165 ms: 1.01x faster | +| regex_v8 | 20.6 ms | 23.5 ms: 1.14x slower | +| Geometric mean | (ref) | 1.04x faster | + +Benchmarks with tag 'serialize': +================================ + +| Benchmark | bm-20240906-vultr-x86_64-python-v3.12.6-3.12.6-a4a2d2b | bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9 | +|----------------------|:------------------------------------------------------:|:------------------------------------------------------------------------:| +| xml_etree_parse | 139 ms | 129 ms: 1.07x faster | +| tomli_loads | 2.11 sec | 1.98 sec: 1.06x faster | +| xml_etree_iterparse | 96.7 ms | 91.2 ms: 1.06x faster | +| unpickle_pure_python | 221 us | 213 us: 1.03x faster | +| xml_etree_generate | 85.2 ms | 83.8 ms: 1.02x faster | +| json_loads | 26.5 us | 26.2 us: 1.01x faster | +| xml_etree_process | 59.0 ms | 58.2 ms: 1.01x faster | +| pickle_pure_python | 308 us | 320 us: 1.04x slower | +| json_dumps | 10.4 ms | 11.3 ms: 1.09x slower | +| Geometric mean | (ref) | 1.02x faster | + +Benchmarks with tag 'startup': +============================== + +| Benchmark | bm-20240906-vultr-x86_64-python-v3.12.6-3.12.6-a4a2d2b | bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9 | +|------------------------|:------------------------------------------------------:|:------------------------------------------------------------------------:| +| python_startup_no_site | 7.16 ms | 7.52 ms: 1.05x slower | +| python_startup | 9.93 ms | 14.7 ms: 1.48x slower | +| Geometric mean | (ref) | 1.25x slower | + +Benchmarks with tag 'template': +=============================== + +| Benchmark | bm-20240906-vultr-x86_64-python-v3.12.6-3.12.6-a4a2d2b | bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9 | +|-----------------|:------------------------------------------------------:|:------------------------------------------------------------------------:| +| genshi_text | 22.8 ms | 21.9 ms: 1.04x faster | +| django_template | 34.7 ms | 35.1 ms: 1.01x slower | +| mako | 11.0 ms | 11.5 ms: 1.04x slower | +| Geometric mean | (ref) | 1.00x slower | + +Benchmark hidden because not significant (1): genshi_xml + +All benchmarks: +=============== + +| Benchmark | bm-20240906-vultr-x86_64-python-v3.12.6-3.12.6-a4a2d2b | bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9 | +|----------------------------|:------------------------------------------------------:|:------------------------------------------------------------------------:| +| async_tree_memoization_tg | 560 ms | 308 ms: 1.81x faster | +| async_tree_io_tg | 1.11 sec | 615 ms: 1.81x faster | +| async_tree_none_tg | 446 ms | 258 ms: 1.73x faster | +| async_tree_io | 1.08 sec | 628 ms: 1.72x faster | +| async_tree_none | 464 ms | 278 ms: 1.67x faster | +| async_tree_memoization | 555 ms | 334 ms: 1.66x faster | +| deepcopy | 352 us | 254 us: 1.38x faster | +| deepcopy_memo | 40.3 us | 30.0 us: 1.35x faster | +| async_tree_cpu_io_mixed_tg | 723 ms | 547 ms: 1.32x faster | +| async_tree_cpu_io_mixed | 715 ms | 569 ms: 1.26x faster | +| generators | 32.2 ms | 26.9 ms: 1.20x faster | +| pathlib | 21.5 ms | 18.1 ms: 1.19x faster | +| deepcopy_reduce | 3.08 us | 2.59 us: 1.19x faster | +| go | 139 ms | 119 ms: 1.17x faster | +| regex_effbot | 3.17 ms | 2.72 ms: 1.16x faster | +| crypto_pyaes | 76.6 ms | 66.2 ms: 1.16x faster | +| raytrace | 299 ms | 260 ms: 1.15x faster | +| spectral_norm | 110 ms | 97.2 ms: 1.13x faster | +| comprehensions | 19.8 us | 17.5 us: 1.13x faster | +| pylint | 319 ms | 282 ms: 1.13x faster | +| sqlalchemy_imperative | 21.8 ms | 19.4 ms: 1.12x faster | +| regex_compile | 142 ms | 127 ms: 1.12x faster | +| sqlalchemy_declarative | 143 ms | 129 ms: 1.11x faster | +| bpe_tokeniser | 4.74 sec | 4.27 sec: 1.11x faster | +| sympy_sum | 166 ms | 152 ms: 1.09x faster | +| logging_simple | 6.63 us | 6.10 us: 1.09x faster | +| scimark_fft | 342 ms | 315 ms: 1.09x faster | +| deltablue | 3.45 ms | 3.17 ms: 1.09x faster | +| async_generators | 384 ms | 355 ms: 1.08x faster | +| coroutines | 23.9 ms | 22.1 ms: 1.08x faster | +| thrift | 791 us | 733 us: 1.08x faster | +| scimark_monte_carlo | 68.4 ms | 63.4 ms: 1.08x faster | +| sympy_str | 292 ms | 271 ms: 1.08x faster | +| chaos | 62.8 ms | 58.4 ms: 1.08x faster | +| xml_etree_parse | 139 ms | 129 ms: 1.07x faster | +| tomli_loads | 2.11 sec | 1.98 sec: 1.06x faster | +| logging_format | 7.35 us | 6.92 us: 1.06x faster | +| xml_etree_iterparse | 96.7 ms | 91.2 ms: 1.06x faster | +| sqlglot_parse | 1.36 ms | 1.28 ms: 1.06x faster | +| float | 80.8 ms | 76.4 ms: 1.06x faster | +| pyflate | 448 ms | 425 ms: 1.05x faster | +| sqlglot_transpile | 1.67 ms | 1.59 ms: 1.05x faster | +| pprint_safe_repr | 743 ms | 706 ms: 1.05x faster | +| typing_runtime_protocols | 163 us | 155 us: 1.05x faster | +| json | 5.02 ms | 4.78 ms: 1.05x faster | +| pprint_pformat | 1.52 sec | 1.45 sec: 1.05x faster | +| pycparser | 1.17 sec | 1.12 sec: 1.05x faster | +| richards | 45.9 ms | 43.9 ms: 1.05x faster | +| dulwich_log | 78.9 ms | 75.5 ms: 1.04x faster | +| mdp | 2.42 sec | 2.32 sec: 1.04x faster | +| genshi_text | 22.8 ms | 21.9 ms: 1.04x faster | +| sympy_integrate | 20.5 ms | 19.8 ms: 1.04x faster | +| hexiom | 6.17 ms | 5.95 ms: 1.04x faster | +| scimark_lu | 114 ms | 110 ms: 1.04x faster | +| richards_super | 51.9 ms | 50.1 ms: 1.04x faster | +| unpickle_pure_python | 221 us | 213 us: 1.03x faster | +| logging_silent | 109 ns | 105 ns: 1.03x faster | +| sqlglot_normalize | 107 ms | 103 ms: 1.03x faster | +| docutils | 2.64 sec | 2.56 sec: 1.03x faster | +| 2to3 | 264 ms | 256 ms: 1.03x faster | +| sympy_expand | 468 ms | 454 ms: 1.03x faster | +| scimark_sparse_mat_mult | 4.39 ms | 4.29 ms: 1.02x faster | +| meteor_contest | 104 ms | 101 ms: 1.02x faster | +| sqlglot_optimize | 53.3 ms | 52.3 ms: 1.02x faster | +| scimark_sor | 130 ms | 128 ms: 1.02x faster | +| xml_etree_generate | 85.2 ms | 83.8 ms: 1.02x faster | +| regex_dna | 168 ms | 165 ms: 1.01x faster | +| json_loads | 26.5 us | 26.2 us: 1.01x faster | +| nqueens | 80.1 ms | 79.0 ms: 1.01x faster | +| xml_etree_process | 59.0 ms | 58.2 ms: 1.01x faster | +| asyncio_websockets | 517 ms | 522 ms: 1.01x slower | +| django_template | 34.7 ms | 35.1 ms: 1.01x slower | +| fannkuch | 372 ms | 381 ms: 1.02x slower | +| pickle_pure_python | 308 us | 320 us: 1.04x slower | +| mako | 11.0 ms | 11.5 ms: 1.04x slower | +| python_startup_no_site | 7.16 ms | 7.52 ms: 1.05x slower | +| json_dumps | 10.4 ms | 11.3 ms: 1.09x slower | +| coverage | 71.4 ms | 78.3 ms: 1.10x slower | +| bench_thread_pool | 941 us | 1.03 ms: 1.10x slower | +| telco | 6.53 ms | 7.21 ms: 1.11x slower | +| regex_v8 | 20.6 ms | 23.5 ms: 1.14x slower | +| pidigits | 184 ms | 217 ms: 1.18x slower | +| gc_traversal | 3.46 ms | 4.42 ms: 1.28x slower | +| python_startup | 9.93 ms | 14.7 ms: 1.48x slower | +| create_gc_cycles | 1.09 ms | 1.85 ms: 1.69x slower | +| bench_mp_pool | 10.8 ms | 88.5 ms: 8.20x slower | +| Geometric mean | (ref) | 1.05x faster | + +Benchmark hidden because not significant (3): genshi_xml, sqlite_synth, nbody +Ignored benchmarks (16) of results/bm-20240906-3.12.6-a4a2d2b/bm-20240906-vultr-x86_64-python-v3.12.6-3.12.6-a4a2d2b.json: aiohttp, asyncio_tcp, asyncio_tcp_ssl, chameleon, dask, flaskblogging, gunicorn, html5lib, mypy2, pickle, pickle_dict, pickle_list, tornado_http, unpack_sequence, unpickle, unpickle_list +Ignored benchmarks (6) of results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9.json: connected_components, k_core, many_optionals, shortest_path, sphinx, subparsers + +- Geometric mean (including insignificant results): 1.079x faster + +# HPT report + +- Reliability score: 100.00% likely to be faster +- 90% likely to have a speedup of 1.04x +- 95% likely to have a speedup of 1.04x +- 99% likely to have a speedup of 1.04x + +# Memory +- memory change: 1.11x \ No newline at end of file diff --git a/results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9-vs-3.12.6.svg b/results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9-vs-3.12.6.svg new file mode 100644 index 00000000..0446e7c4 --- /dev/null +++ b/results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9-vs-3.12.6.svg @@ -0,0 +1,3067 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9-vs-3.13.0rc2.md b/results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9-vs-3.13.0rc2.md new file mode 100644 index 00000000..ef8983c8 --- /dev/null +++ b/results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9-vs-3.13.0rc2.md @@ -0,0 +1,201 @@ +# Results vs. 3.13.0rc2 + +- fork: nascheme +- ref: gh_115999_specialize +- machine: linux-x86_64 +- commit hash: 699f4e9 +- commit date: 2024-12-17 +- overall geometric mean: 1.040x faster +- HPT reliability: 100.00% +- HPT 99th percentile: 1.01x faster +- Memory change: 1.09x + +Benchmarks with tag 'apps': +=========================== + +| Benchmark | bm-20240906-vultr-x86_64-python-v3.13.0rc2-3.13.0rc2-ec61006 | bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9 | +|----------------|:------------------------------------------------------------:|:------------------------------------------------------------------------:| +| 2to3 | 260 ms | 256 ms: 1.02x faster | +| docutils | 2.62 sec | 2.56 sec: 1.02x faster | +| Geometric mean | (ref) | 1.02x faster | + +Benchmarks with tag 'asyncio': +============================== + +| Benchmark | bm-20240906-vultr-x86_64-python-v3.13.0rc2-3.13.0rc2-ec61006 | bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9 | +|----------------------------|:------------------------------------------------------------:|:------------------------------------------------------------------------:| +| async_tree_io_tg | 913 ms | 615 ms: 1.49x faster | +| async_tree_io | 876 ms | 628 ms: 1.39x faster | +| async_tree_memoization | 461 ms | 334 ms: 1.38x faster | +| async_tree_memoization_tg | 414 ms | 308 ms: 1.34x faster | +| async_tree_none_tg | 336 ms | 258 ms: 1.30x faster | +| async_tree_none | 354 ms | 278 ms: 1.27x faster | +| async_tree_cpu_io_mixed | 666 ms | 569 ms: 1.17x faster | +| async_tree_cpu_io_mixed_tg | 638 ms | 547 ms: 1.17x faster | +| coroutines | 23.6 ms | 22.1 ms: 1.06x faster | +| async_generators | 377 ms | 355 ms: 1.06x faster | +| asyncio_websockets | 520 ms | 522 ms: 1.00x slower | +| Geometric mean | (ref) | 1.23x faster | + +Benchmarks with tag 'math': +=========================== + +| Benchmark | bm-20240906-vultr-x86_64-python-v3.13.0rc2-3.13.0rc2-ec61006 | bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9 | +|----------------|:------------------------------------------------------------:|:------------------------------------------------------------------------:| +| float | 77.5 ms | 76.4 ms: 1.01x faster | +| nbody | 85.1 ms | 89.6 ms: 1.05x slower | +| Geometric mean | (ref) | 1.01x slower | + +Benchmark hidden because not significant (1): pidigits + +Benchmarks with tag 'regex': +============================ + +| Benchmark | bm-20240906-vultr-x86_64-python-v3.13.0rc2-3.13.0rc2-ec61006 | bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9 | +|----------------|:------------------------------------------------------------:|:------------------------------------------------------------------------:| +| regex_effbot | 3.08 ms | 2.72 ms: 1.13x faster | +| regex_dna | 180 ms | 165 ms: 1.09x faster | +| regex_compile | 132 ms | 127 ms: 1.04x faster | +| regex_v8 | 22.7 ms | 23.5 ms: 1.03x slower | +| Geometric mean | (ref) | 1.06x faster | + +Benchmarks with tag 'serialize': +================================ + +| Benchmark | bm-20240906-vultr-x86_64-python-v3.13.0rc2-3.13.0rc2-ec61006 | bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9 | +|----------------------|:------------------------------------------------------------:|:------------------------------------------------------------------------:| +| xml_etree_parse | 136 ms | 129 ms: 1.06x faster | +| xml_etree_iterparse | 94.9 ms | 91.2 ms: 1.04x faster | +| json_loads | 27.0 us | 26.2 us: 1.03x faster | +| xml_etree_process | 59.3 ms | 58.2 ms: 1.02x faster | +| xml_etree_generate | 85.4 ms | 83.8 ms: 1.02x faster | +| tomli_loads | 2.01 sec | 1.98 sec: 1.01x faster | +| unpickle_pure_python | 210 us | 213 us: 1.02x slower | +| json_dumps | 10.5 ms | 11.3 ms: 1.07x slower | +| pickle_pure_python | 294 us | 320 us: 1.09x slower | +| Geometric mean | (ref) | 1.00x faster | + +Benchmarks with tag 'startup': +============================== + +| Benchmark | bm-20240906-vultr-x86_64-python-v3.13.0rc2-3.13.0rc2-ec61006 | bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9 | +|------------------------|:------------------------------------------------------------:|:------------------------------------------------------------------------:| +| python_startup_no_site | 7.39 ms | 7.52 ms: 1.02x slower | +| python_startup | 11.0 ms | 14.7 ms: 1.33x slower | +| Geometric mean | (ref) | 1.16x slower | + +Benchmarks with tag 'template': +=============================== + +| Benchmark | bm-20240906-vultr-x86_64-python-v3.13.0rc2-3.13.0rc2-ec61006 | bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9 | +|-----------------|:------------------------------------------------------------:|:------------------------------------------------------------------------:| +| mako | 11.3 ms | 11.5 ms: 1.01x slower | +| genshi_text | 21.5 ms | 21.9 ms: 1.02x slower | +| genshi_xml | 48.8 ms | 50.0 ms: 1.02x slower | +| django_template | 34.1 ms | 35.1 ms: 1.03x slower | +| Geometric mean | (ref) | 1.02x slower | + +All benchmarks: +=============== + +| Benchmark | bm-20240906-vultr-x86_64-python-v3.13.0rc2-3.13.0rc2-ec61006 | bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9 | +|----------------------------|:------------------------------------------------------------:|:------------------------------------------------------------------------:| +| async_tree_io_tg | 913 ms | 615 ms: 1.49x faster | +| deepcopy | 355 us | 254 us: 1.40x faster | +| async_tree_io | 876 ms | 628 ms: 1.39x faster | +| async_tree_memoization | 461 ms | 334 ms: 1.38x faster | +| async_tree_memoization_tg | 414 ms | 308 ms: 1.34x faster | +| deepcopy_memo | 39.1 us | 30.0 us: 1.30x faster | +| async_tree_none_tg | 336 ms | 258 ms: 1.30x faster | +| async_tree_none | 354 ms | 278 ms: 1.27x faster | +| deepcopy_reduce | 3.11 us | 2.59 us: 1.20x faster | +| go | 141 ms | 119 ms: 1.18x faster | +| async_tree_cpu_io_mixed | 666 ms | 569 ms: 1.17x faster | +| async_tree_cpu_io_mixed_tg | 638 ms | 547 ms: 1.17x faster | +| spectral_norm | 111 ms | 97.2 ms: 1.14x faster | +| regex_effbot | 3.08 ms | 2.72 ms: 1.13x faster | +| pylint | 317 ms | 282 ms: 1.13x faster | +| scimark_fft | 349 ms | 315 ms: 1.11x faster | +| scimark_sparse_mat_mult | 4.71 ms | 4.29 ms: 1.10x faster | +| regex_dna | 180 ms | 165 ms: 1.09x faster | +| telco | 7.82 ms | 7.21 ms: 1.08x faster | +| generators | 28.8 ms | 26.9 ms: 1.07x faster | +| coroutines | 23.6 ms | 22.1 ms: 1.06x faster | +| async_generators | 377 ms | 355 ms: 1.06x faster | +| thrift | 778 us | 733 us: 1.06x faster | +| coverage | 83.0 ms | 78.3 ms: 1.06x faster | +| pathlib | 19.2 ms | 18.1 ms: 1.06x faster | +| xml_etree_parse | 136 ms | 129 ms: 1.06x faster | +| pyflate | 449 ms | 425 ms: 1.05x faster | +| scimark_sor | 134 ms | 128 ms: 1.05x faster | +| pprint_safe_repr | 738 ms | 706 ms: 1.04x faster | +| bpe_tokeniser | 4.45 sec | 4.27 sec: 1.04x faster | +| xml_etree_iterparse | 94.9 ms | 91.2 ms: 1.04x faster | +| regex_compile | 132 ms | 127 ms: 1.04x faster | +| pprint_pformat | 1.50 sec | 1.45 sec: 1.03x faster | +| json_loads | 27.0 us | 26.2 us: 1.03x faster | +| richards_super | 51.6 ms | 50.1 ms: 1.03x faster | +| richards | 45.2 ms | 43.9 ms: 1.03x faster | +| scimark_monte_carlo | 65.4 ms | 63.4 ms: 1.03x faster | +| json | 4.93 ms | 4.78 ms: 1.03x faster | +| sympy_sum | 156 ms | 152 ms: 1.03x faster | +| crypto_pyaes | 67.9 ms | 66.2 ms: 1.02x faster | +| sqlglot_normalize | 106 ms | 103 ms: 1.02x faster | +| docutils | 2.62 sec | 2.56 sec: 1.02x faster | +| scimark_lu | 113 ms | 110 ms: 1.02x faster | +| xml_etree_process | 59.3 ms | 58.2 ms: 1.02x faster | +| xml_etree_generate | 85.4 ms | 83.8 ms: 1.02x faster | +| 2to3 | 260 ms | 256 ms: 1.02x faster | +| mdp | 2.36 sec | 2.32 sec: 1.02x faster | +| sympy_str | 275 ms | 271 ms: 1.01x faster | +| float | 77.5 ms | 76.4 ms: 1.01x faster | +| tomli_loads | 2.01 sec | 1.98 sec: 1.01x faster | +| logging_simple | 6.16 us | 6.10 us: 1.01x faster | +| sqlglot_optimize | 52.7 ms | 52.3 ms: 1.01x faster | +| hexiom | 5.99 ms | 5.95 ms: 1.01x faster | +| sympy_expand | 457 ms | 454 ms: 1.01x faster | +| sympy_integrate | 19.8 ms | 19.8 ms: 1.00x faster | +| asyncio_websockets | 520 ms | 522 ms: 1.00x slower | +| nqueens | 78.6 ms | 79.0 ms: 1.01x slower | +| dulwich_log | 74.8 ms | 75.5 ms: 1.01x slower | +| logging_format | 6.84 us | 6.92 us: 1.01x slower | +| mako | 11.3 ms | 11.5 ms: 1.01x slower | +| unpickle_pure_python | 210 us | 213 us: 1.02x slower | +| deltablue | 3.12 ms | 3.17 ms: 1.02x slower | +| genshi_text | 21.5 ms | 21.9 ms: 1.02x slower | +| python_startup_no_site | 7.39 ms | 7.52 ms: 1.02x slower | +| sqlglot_transpile | 1.56 ms | 1.59 ms: 1.02x slower | +| chaos | 57.3 ms | 58.4 ms: 1.02x slower | +| sqlglot_parse | 1.25 ms | 1.28 ms: 1.02x slower | +| genshi_xml | 48.8 ms | 50.0 ms: 1.02x slower | +| logging_silent | 103 ns | 105 ns: 1.03x slower | +| django_template | 34.1 ms | 35.1 ms: 1.03x slower | +| fannkuch | 370 ms | 381 ms: 1.03x slower | +| raytrace | 253 ms | 260 ms: 1.03x slower | +| regex_v8 | 22.7 ms | 23.5 ms: 1.03x slower | +| nbody | 85.1 ms | 89.6 ms: 1.05x slower | +| comprehensions | 16.5 us | 17.5 us: 1.07x slower | +| json_dumps | 10.5 ms | 11.3 ms: 1.07x slower | +| pickle_pure_python | 294 us | 320 us: 1.09x slower | +| bench_thread_pool | 919 us | 1.03 ms: 1.13x slower | +| python_startup | 11.0 ms | 14.7 ms: 1.33x slower | +| create_gc_cycles | 1.34 ms | 1.85 ms: 1.38x slower | +| gc_traversal | 3.14 ms | 4.42 ms: 1.41x slower | +| bench_mp_pool | 11.0 ms | 88.5 ms: 8.05x slower | +| Geometric mean | (ref) | 1.01x faster | + +Benchmark hidden because not significant (5): meteor_contest, sqlite_synth, pycparser, pidigits, typing_runtime_protocols +Ignored benchmarks (15) of results/bm-20240906-3.13.0rc2-ec61006/bm-20240906-vultr-x86_64-python-v3.13.0rc2-3.13.0rc2-ec61006.json: aiohttp, asyncio_tcp, asyncio_tcp_ssl, chameleon, dask, flaskblogging, gunicorn, html5lib, pickle, pickle_dict, pickle_list, tornado_http, unpack_sequence, unpickle, unpickle_list +Ignored benchmarks (8) of results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9.json: connected_components, k_core, many_optionals, shortest_path, sphinx, sqlalchemy_declarative, sqlalchemy_imperative, subparsers + +- Geometric mean (including insignificant results): 1.040x faster + +# HPT report + +- Reliability score: 100.00% likely to be faster +- 90% likely to have a speedup of 1.01x +- 95% likely to have a speedup of 1.01x +- 99% likely to have a speedup of 1.01x + +# Memory +- memory change: 1.09x \ No newline at end of file diff --git a/results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9-vs-3.13.0rc2.svg b/results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9-vs-3.13.0rc2.svg new file mode 100644 index 00000000..a68be581 --- /dev/null +++ b/results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9-vs-3.13.0rc2.svg @@ -0,0 +1,2960 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9-vs-base-mem.svg b/results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9-vs-base-mem.svg new file mode 100644 index 00000000..f7237344 --- /dev/null +++ b/results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9-vs-base-mem.svg @@ -0,0 +1,3701 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9-vs-base.md b/results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9-vs-base.md new file mode 100644 index 00000000..f91f83dc --- /dev/null +++ b/results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9-vs-base.md @@ -0,0 +1,167 @@ +# Results vs. base + +- fork: nascheme +- ref: gh_115999_specialize +- machine: linux-x86_64 +- commit hash: 699f4e9 +- commit date: 2024-12-17 +- overall geometric mean: 1.005x slower +- HPT reliability: 97.76% +- HPT 99th percentile: 1.00x slower +- Memory change: 1.00x + +Benchmarks with tag 'apps': +=========================== + +Benchmark hidden because not significant (3): 2to3, docutils, sphinx + +Benchmarks with tag 'asyncio': +============================== + +| Benchmark | bm-20241213-vultr-x86_64-python-2de048ce79e621f5ae05-3.14.0a2+-2de048c | bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9 | +|----------------------------|:----------------------------------------------------------------------:|:------------------------------------------------------------------------:| +| async_generators | 352 ms | 355 ms: 1.01x slower | +| async_tree_none_tg | 256 ms | 258 ms: 1.01x slower | +| coroutines | 21.6 ms | 22.1 ms: 1.02x slower | +| async_tree_cpu_io_mixed_tg | 484 ms | 547 ms: 1.13x slower | +| async_tree_cpu_io_mixed | 499 ms | 569 ms: 1.14x slower | +| Geometric mean | (ref) | 1.03x slower | + +Benchmark hidden because not significant (6): asyncio_websockets, async_tree_io, async_tree_memoization_tg, async_tree_none, async_tree_memoization, async_tree_io_tg + +Benchmarks with tag 'math': +=========================== + +| Benchmark | bm-20241213-vultr-x86_64-python-2de048ce79e621f5ae05-3.14.0a2+-2de048c | bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9 | +|----------------|:----------------------------------------------------------------------:|:------------------------------------------------------------------------:| +| nbody | 90.3 ms | 89.6 ms: 1.01x faster | +| pidigits | 185 ms | 217 ms: 1.17x slower | +| Geometric mean | (ref) | 1.05x slower | + +Benchmark hidden because not significant (1): float + +Benchmarks with tag 'regex': +============================ + +| Benchmark | bm-20241213-vultr-x86_64-python-2de048ce79e621f5ae05-3.14.0a2+-2de048c | bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9 | +|----------------|:----------------------------------------------------------------------:|:------------------------------------------------------------------------:| +| regex_dna | 175 ms | 165 ms: 1.06x faster | +| regex_v8 | 24.4 ms | 23.5 ms: 1.04x faster | +| regex_effbot | 2.69 ms | 2.72 ms: 1.01x slower | +| Geometric mean | (ref) | 1.02x faster | + +Benchmark hidden because not significant (1): regex_compile + +Benchmarks with tag 'serialize': +================================ + +| Benchmark | bm-20241213-vultr-x86_64-python-2de048ce79e621f5ae05-3.14.0a2+-2de048c | bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9 | +|----------------------|:----------------------------------------------------------------------:|:------------------------------------------------------------------------:| +| pickle_pure_python | 323 us | 320 us: 1.01x faster | +| xml_etree_process | 58.8 ms | 58.2 ms: 1.01x faster | +| xml_etree_generate | 84.5 ms | 83.8 ms: 1.01x faster | +| unpickle_pure_python | 213 us | 213 us: 1.00x slower | +| json_loads | 26.1 us | 26.2 us: 1.00x slower | +| xml_etree_iterparse | 90.6 ms | 91.2 ms: 1.01x slower | +| tomli_loads | 1.97 sec | 1.98 sec: 1.01x slower | +| Geometric mean | (ref) | 1.00x faster | + +Benchmark hidden because not significant (2): json_dumps, xml_etree_parse + +Benchmarks with tag 'startup': +============================== + +| Benchmark | bm-20241213-vultr-x86_64-python-2de048ce79e621f5ae05-3.14.0a2+-2de048c | bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9 | +|------------------------|:----------------------------------------------------------------------:|:------------------------------------------------------------------------:| +| python_startup | 14.6 ms | 14.7 ms: 1.00x slower | +| python_startup_no_site | 7.49 ms | 7.52 ms: 1.00x slower | +| Geometric mean | (ref) | 1.00x slower | + +Benchmarks with tag 'template': +=============================== + +| Benchmark | bm-20241213-vultr-x86_64-python-2de048ce79e621f5ae05-3.14.0a2+-2de048c | bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9 | +|-----------------|:----------------------------------------------------------------------:|:------------------------------------------------------------------------:| +| mako | 11.6 ms | 11.5 ms: 1.01x faster | +| django_template | 35.4 ms | 35.1 ms: 1.01x faster | +| genshi_xml | 49.7 ms | 50.0 ms: 1.01x slower | +| genshi_text | 21.7 ms | 21.9 ms: 1.01x slower | +| Geometric mean | (ref) | 1.00x faster | + +All benchmarks: +=============== + +| Benchmark | bm-20241213-vultr-x86_64-python-2de048ce79e621f5ae05-3.14.0a2+-2de048c | bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9 | +|----------------------------|:----------------------------------------------------------------------:|:------------------------------------------------------------------------:| +| regex_dna | 175 ms | 165 ms: 1.06x faster | +| regex_v8 | 24.4 ms | 23.5 ms: 1.04x faster | +| scimark_sparse_mat_mult | 4.38 ms | 4.29 ms: 1.02x faster | +| scimark_monte_carlo | 64.7 ms | 63.4 ms: 1.02x faster | +| richards | 44.7 ms | 43.9 ms: 1.02x faster | +| nqueens | 80.3 ms | 79.0 ms: 1.02x faster | +| dulwich_log | 76.6 ms | 75.5 ms: 1.01x faster | +| coverage | 79.2 ms | 78.3 ms: 1.01x faster | +| richards_super | 50.7 ms | 50.1 ms: 1.01x faster | +| pickle_pure_python | 323 us | 320 us: 1.01x faster | +| xml_etree_process | 58.8 ms | 58.2 ms: 1.01x faster | +| mako | 11.6 ms | 11.5 ms: 1.01x faster | +| django_template | 35.4 ms | 35.1 ms: 1.01x faster | +| xml_etree_generate | 84.5 ms | 83.8 ms: 1.01x faster | +| generators | 27.1 ms | 26.9 ms: 1.01x faster | +| subparsers | 22.2 ms | 22.0 ms: 1.01x faster | +| nbody | 90.3 ms | 89.6 ms: 1.01x faster | +| thrift | 738 us | 733 us: 1.01x faster | +| deepcopy | 256 us | 254 us: 1.01x faster | +| deepcopy_memo | 30.1 us | 30.0 us: 1.01x faster | +| pprint_safe_repr | 710 ms | 706 ms: 1.01x faster | +| sympy_integrate | 19.9 ms | 19.8 ms: 1.01x faster | +| deepcopy_reduce | 2.60 us | 2.59 us: 1.01x faster | +| mdp | 2.33 sec | 2.32 sec: 1.01x faster | +| pycparser | 1.12 sec | 1.12 sec: 1.00x faster | +| python_startup | 14.6 ms | 14.7 ms: 1.00x slower | +| python_startup_no_site | 7.49 ms | 7.52 ms: 1.00x slower | +| sqlglot_optimize | 52.1 ms | 52.3 ms: 1.00x slower | +| unpickle_pure_python | 213 us | 213 us: 1.00x slower | +| sqlglot_normalize | 103 ms | 103 ms: 1.00x slower | +| json_loads | 26.1 us | 26.2 us: 1.00x slower | +| genshi_xml | 49.7 ms | 50.0 ms: 1.01x slower | +| xml_etree_iterparse | 90.6 ms | 91.2 ms: 1.01x slower | +| bpe_tokeniser | 4.24 sec | 4.27 sec: 1.01x slower | +| tomli_loads | 1.97 sec | 1.98 sec: 1.01x slower | +| async_generators | 352 ms | 355 ms: 1.01x slower | +| regex_effbot | 2.69 ms | 2.72 ms: 1.01x slower | +| spectral_norm | 96.3 ms | 97.2 ms: 1.01x slower | +| pyflate | 421 ms | 425 ms: 1.01x slower | +| async_tree_none_tg | 256 ms | 258 ms: 1.01x slower | +| create_gc_cycles | 1.83 ms | 1.85 ms: 1.01x slower | +| genshi_text | 21.7 ms | 21.9 ms: 1.01x slower | +| crypto_pyaes | 65.4 ms | 66.2 ms: 1.01x slower | +| sqlglot_transpile | 1.57 ms | 1.59 ms: 1.01x slower | +| sqlalchemy_declarative | 126 ms | 129 ms: 1.02x slower | +| sqlalchemy_imperative | 19.1 ms | 19.4 ms: 1.02x slower | +| logging_format | 6.79 us | 6.92 us: 1.02x slower | +| go | 117 ms | 119 ms: 1.02x slower | +| comprehensions | 17.2 us | 17.5 us: 1.02x slower | +| hexiom | 5.84 ms | 5.95 ms: 1.02x slower | +| sqlglot_parse | 1.25 ms | 1.28 ms: 1.02x slower | +| coroutines | 21.6 ms | 22.1 ms: 1.02x slower | +| fannkuch | 372 ms | 381 ms: 1.02x slower | +| gc_traversal | 4.27 ms | 4.42 ms: 1.04x slower | +| async_tree_cpu_io_mixed_tg | 484 ms | 547 ms: 1.13x slower | +| async_tree_cpu_io_mixed | 499 ms | 569 ms: 1.14x slower | +| pidigits | 185 ms | 217 ms: 1.17x slower | +| Geometric mean | (ref) | 1.01x slower | + +Benchmark hidden because not significant (38): logging_simple, bench_mp_pool, k_core, pathlib, bench_thread_pool, sqlite_synth, logging_silent, sphinx, pprint_pformat, sympy_sum, many_optionals, asyncio_websockets, float, raytrace, 2to3, json_dumps, sympy_str, scimark_sor, chaos, deltablue, sympy_expand, regex_compile, async_tree_io, shortest_path, connected_components, xml_etree_parse, scimark_fft, docutils, async_tree_memoization_tg, scimark_lu, typing_runtime_protocols, telco, meteor_contest, json, async_tree_none, pylint, async_tree_memoization, async_tree_io_tg + +- Geometric mean (including insignificant results): 1.005x slower + +# HPT report + +- Reliability score: 97.76% likely to be slow +- 90% likely to have a slowdown of 1.00x +- 95% likely to have a slowdown of 1.00x +- 99% likely to have a slowdown of 1.00x + +# Memory +- memory change: 1.00x \ No newline at end of file diff --git a/results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9-vs-base.svg b/results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9-vs-base.svg new file mode 100644 index 00000000..01daafc7 --- /dev/null +++ b/results/bm-20241217-3.14.0a2+-699f4e9/bm-20241217-vultr-x86_64-nascheme-gh_115999_specialize-3.14.0a2+-699f4e9-vs-base.svg @@ -0,0 +1,3431 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +