diff --git a/README.md b/README.md
index 5ac2a3a6..e84feb09 100644
--- a/README.md
+++ b/README.md
@@ -32,6 +32,7 @@ Here are some recent and important revisions. π [Complete list of results](RE
| [2024-12-19](results/bm-20241219-3.14.0a3%2B-3876bc7-NOGIL) | mpage/gh_115999_load_attr_ | 3876bc7 (NOGIL) | 1.091x β
[π](results/bm-20241219-3.14.0a3%2B-3876bc7-NOGIL/bm-20241219-vultr-x86_64-mpage-gh_115999_load_attr_-3.14.0a3%2B-3876bc7-vs-3.12.6.md)[π](results/bm-20241219-3.14.0a3%2B-3876bc7-NOGIL/bm-20241219-vultr-x86_64-mpage-gh_115999_load_attr_-3.14.0a3%2B-3876bc7-vs-3.12.6.svg) | 1.120x β
[π](results/bm-20241219-3.14.0a3%2B-3876bc7-NOGIL/bm-20241219-vultr-x86_64-mpage-gh_115999_load_attr_-3.14.0a3%2B-3876bc7-vs-3.13.0rc2.md)[π](results/bm-20241219-3.14.0a3%2B-3876bc7-NOGIL/bm-20241219-vultr-x86_64-mpage-gh_115999_load_attr_-3.14.0a3%2B-3876bc7-vs-3.13.0rc2.svg) | 1.116x β
[π](results/bm-20241219-3.14.0a3%2B-3876bc7-NOGIL/bm-20241219-vultr-x86_64-mpage-gh_115999_load_attr_-3.14.0a3%2B-3876bc7-vs-base.md)[π](results/bm-20241219-3.14.0a3%2B-3876bc7-NOGIL/bm-20241219-vultr-x86_64-mpage-gh_115999_load_attr_-3.14.0a3%2B-3876bc7-vs-base.svg)[π§ ](results/bm-20241219-3.14.0a3%2B-3876bc7-NOGIL/bm-20241219-vultr-x86_64-mpage-gh_115999_load_attr_-3.14.0a3%2B-3876bc7-vs-base-mem.svg) |
| [2024-12-19](results/bm-20241219-3.14.0a3%2B-3876bc7) | mpage/gh_115999_load_attr_ | 3876bc7 | 1.094x β
[π](results/bm-20241219-3.14.0a3%2B-3876bc7/bm-20241219-vultr-x86_64-mpage-gh_115999_load_attr_-3.14.0a3%2B-3876bc7-vs-3.12.6.md)[π](results/bm-20241219-3.14.0a3%2B-3876bc7/bm-20241219-vultr-x86_64-mpage-gh_115999_load_attr_-3.14.0a3%2B-3876bc7-vs-3.12.6.svg) | 1.055x β
[π](results/bm-20241219-3.14.0a3%2B-3876bc7/bm-20241219-vultr-x86_64-mpage-gh_115999_load_attr_-3.14.0a3%2B-3876bc7-vs-3.13.0rc2.md)[π](results/bm-20241219-3.14.0a3%2B-3876bc7/bm-20241219-vultr-x86_64-mpage-gh_115999_load_attr_-3.14.0a3%2B-3876bc7-vs-3.13.0rc2.svg) | 1.008x β
[π](results/bm-20241219-3.14.0a3%2B-3876bc7/bm-20241219-vultr-x86_64-mpage-gh_115999_load_attr_-3.14.0a3%2B-3876bc7-vs-base.md)[π](results/bm-20241219-3.14.0a3%2B-3876bc7/bm-20241219-vultr-x86_64-mpage-gh_115999_load_attr_-3.14.0a3%2B-3876bc7-vs-base.svg)[π§ ](results/bm-20241219-3.14.0a3%2B-3876bc7/bm-20241219-vultr-x86_64-mpage-gh_115999_load_attr_-3.14.0a3%2B-3876bc7-vs-base-mem.svg) |
| [2024-12-19](results/bm-20241219-3.14.0a3%2B-39e69a7) | python/39e69a7cd54d44c9061d | 39e69a7 | 1.084x β
[π](results/bm-20241219-3.14.0a3%2B-39e69a7/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.12.6.md)[π](results/bm-20241219-3.14.0a3%2B-39e69a7/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.12.6.svg) | 1.046x β
[π](results/bm-20241219-3.14.0a3%2B-39e69a7/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.13.0rc2.md)[π](results/bm-20241219-3.14.0a3%2B-39e69a7/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.13.0rc2.svg) | |
+| [2024-12-19](results/bm-20241219-3.14.0a3%2B-39e69a7) | mpage/39e69a7cd54d44c9061d | 39e69a7 | 1.089x β
[π](results/bm-20241219-3.14.0a3%2B-39e69a7/bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.12.6.md)[π](results/bm-20241219-3.14.0a3%2B-39e69a7/bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.12.6.svg) | 1.051x β
[π](results/bm-20241219-3.14.0a3%2B-39e69a7/bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.13.0rc2.md)[π](results/bm-20241219-3.14.0a3%2B-39e69a7/bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.13.0rc2.svg) | |
| [2024-12-19](results/bm-20241219-3.14.0a3%2B-39e69a7-NOGIL) | python/39e69a7cd54d44c9061d | 39e69a7 (NOGIL) | 1.189x β
[π](results/bm-20241219-3.14.0a3%2B-39e69a7-NOGIL/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.12.6.md)[π](results/bm-20241219-3.14.0a3%2B-39e69a7-NOGIL/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.12.6.svg) | 1.215x β
[π](results/bm-20241219-3.14.0a3%2B-39e69a7-NOGIL/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.13.0rc2.md)[π](results/bm-20241219-3.14.0a3%2B-39e69a7-NOGIL/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.13.0rc2.svg) | 1.246x β
[π](results/bm-20241219-3.14.0a3%2B-39e69a7-NOGIL/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-base.md)[π](results/bm-20241219-3.14.0a3%2B-39e69a7-NOGIL/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-base.svg)[π§ ](results/bm-20241219-3.14.0a3%2B-39e69a7-NOGIL/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-base-mem.svg) |
| [2024-12-18](results/bm-20241218-3.14.0a3%2B-f802c8b-NOGIL) | python/f802c8bf872ab882d305 | f802c8b (NOGIL) | 1.218x β
[π](results/bm-20241218-3.14.0a3%2B-f802c8b-NOGIL/bm-20241218-vultr-x86_64-python-f802c8bf872ab882d305-3.14.0a3%2B-f802c8b-vs-3.12.6.md)[π](results/bm-20241218-3.14.0a3%2B-f802c8b-NOGIL/bm-20241218-vultr-x86_64-python-f802c8bf872ab882d305-3.14.0a3%2B-f802c8b-vs-3.12.6.svg) | 1.243x β
[π](results/bm-20241218-3.14.0a3%2B-f802c8b-NOGIL/bm-20241218-vultr-x86_64-python-f802c8bf872ab882d305-3.14.0a3%2B-f802c8b-vs-3.13.0rc2.md)[π](results/bm-20241218-3.14.0a3%2B-f802c8b-NOGIL/bm-20241218-vultr-x86_64-python-f802c8bf872ab882d305-3.14.0a3%2B-f802c8b-vs-3.13.0rc2.svg) | 1.266x β
[π](results/bm-20241218-3.14.0a3%2B-f802c8b-NOGIL/bm-20241218-vultr-x86_64-python-f802c8bf872ab882d305-3.14.0a3%2B-f802c8b-vs-base.md)[π](results/bm-20241218-3.14.0a3%2B-f802c8b-NOGIL/bm-20241218-vultr-x86_64-python-f802c8bf872ab882d305-3.14.0a3%2B-f802c8b-vs-base.svg)[π§ ](results/bm-20241218-3.14.0a3%2B-f802c8b-NOGIL/bm-20241218-vultr-x86_64-python-f802c8bf872ab882d305-3.14.0a3%2B-f802c8b-vs-base-mem.svg) |
| [2024-12-18](results/bm-20241218-3.14.0a3%2B-f802c8b) | python/f802c8bf872ab882d305 | f802c8b | 1.076x β
[π](results/bm-20241218-3.14.0a3%2B-f802c8b/bm-20241218-vultr-x86_64-python-f802c8bf872ab882d305-3.14.0a3%2B-f802c8b-vs-3.12.6.md)[π](results/bm-20241218-3.14.0a3%2B-f802c8b/bm-20241218-vultr-x86_64-python-f802c8bf872ab882d305-3.14.0a3%2B-f802c8b-vs-3.12.6.svg) | 1.037x β
[π](results/bm-20241218-3.14.0a3%2B-f802c8b/bm-20241218-vultr-x86_64-python-f802c8bf872ab882d305-3.14.0a3%2B-f802c8b-vs-3.13.0rc2.md)[π](results/bm-20241218-3.14.0a3%2B-f802c8b/bm-20241218-vultr-x86_64-python-f802c8bf872ab882d305-3.14.0a3%2B-f802c8b-vs-3.13.0rc2.svg) | |
diff --git a/RESULTS.md b/RESULTS.md
index d12552c6..29b805ca 100644
--- a/RESULTS.md
+++ b/RESULTS.md
@@ -215,6 +215,7 @@
| [2024-12-19](results/bm-20241219-3.14.0a3%2B-3876bc7-NOGIL) | mpage/gh_115999_load_attr_ | 3876bc7 (NOGIL) | 1.091x β
[π](results/bm-20241219-3.14.0a3%2B-3876bc7-NOGIL/bm-20241219-vultr-x86_64-mpage-gh_115999_load_attr_-3.14.0a3%2B-3876bc7-vs-3.12.6.md)[π](results/bm-20241219-3.14.0a3%2B-3876bc7-NOGIL/bm-20241219-vultr-x86_64-mpage-gh_115999_load_attr_-3.14.0a3%2B-3876bc7-vs-3.12.6.svg) | 1.120x β
[π](results/bm-20241219-3.14.0a3%2B-3876bc7-NOGIL/bm-20241219-vultr-x86_64-mpage-gh_115999_load_attr_-3.14.0a3%2B-3876bc7-vs-3.13.0rc2.md)[π](results/bm-20241219-3.14.0a3%2B-3876bc7-NOGIL/bm-20241219-vultr-x86_64-mpage-gh_115999_load_attr_-3.14.0a3%2B-3876bc7-vs-3.13.0rc2.svg) | 1.116x β
[π](results/bm-20241219-3.14.0a3%2B-3876bc7-NOGIL/bm-20241219-vultr-x86_64-mpage-gh_115999_load_attr_-3.14.0a3%2B-3876bc7-vs-base.md)[π](results/bm-20241219-3.14.0a3%2B-3876bc7-NOGIL/bm-20241219-vultr-x86_64-mpage-gh_115999_load_attr_-3.14.0a3%2B-3876bc7-vs-base.svg)[π§ ](results/bm-20241219-3.14.0a3%2B-3876bc7-NOGIL/bm-20241219-vultr-x86_64-mpage-gh_115999_load_attr_-3.14.0a3%2B-3876bc7-vs-base-mem.svg) |
| [2024-12-19](results/bm-20241219-3.14.0a3%2B-3876bc7) | mpage/gh_115999_load_attr_ | 3876bc7 | 1.094x β
[π](results/bm-20241219-3.14.0a3%2B-3876bc7/bm-20241219-vultr-x86_64-mpage-gh_115999_load_attr_-3.14.0a3%2B-3876bc7-vs-3.12.6.md)[π](results/bm-20241219-3.14.0a3%2B-3876bc7/bm-20241219-vultr-x86_64-mpage-gh_115999_load_attr_-3.14.0a3%2B-3876bc7-vs-3.12.6.svg) | 1.055x β
[π](results/bm-20241219-3.14.0a3%2B-3876bc7/bm-20241219-vultr-x86_64-mpage-gh_115999_load_attr_-3.14.0a3%2B-3876bc7-vs-3.13.0rc2.md)[π](results/bm-20241219-3.14.0a3%2B-3876bc7/bm-20241219-vultr-x86_64-mpage-gh_115999_load_attr_-3.14.0a3%2B-3876bc7-vs-3.13.0rc2.svg) | 1.008x β
[π](results/bm-20241219-3.14.0a3%2B-3876bc7/bm-20241219-vultr-x86_64-mpage-gh_115999_load_attr_-3.14.0a3%2B-3876bc7-vs-base.md)[π](results/bm-20241219-3.14.0a3%2B-3876bc7/bm-20241219-vultr-x86_64-mpage-gh_115999_load_attr_-3.14.0a3%2B-3876bc7-vs-base.svg)[π§ ](results/bm-20241219-3.14.0a3%2B-3876bc7/bm-20241219-vultr-x86_64-mpage-gh_115999_load_attr_-3.14.0a3%2B-3876bc7-vs-base-mem.svg) |
| [2024-12-19](results/bm-20241219-3.14.0a3%2B-39e69a7) | python/39e69a7cd54d44c9061d | 39e69a7 | 1.084x β
[π](results/bm-20241219-3.14.0a3%2B-39e69a7/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.12.6.md)[π](results/bm-20241219-3.14.0a3%2B-39e69a7/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.12.6.svg) | 1.046x β
[π](results/bm-20241219-3.14.0a3%2B-39e69a7/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.13.0rc2.md)[π](results/bm-20241219-3.14.0a3%2B-39e69a7/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.13.0rc2.svg) | |
+| [2024-12-19](results/bm-20241219-3.14.0a3%2B-39e69a7) | mpage/39e69a7cd54d44c9061d | 39e69a7 | 1.089x β
[π](results/bm-20241219-3.14.0a3%2B-39e69a7/bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.12.6.md)[π](results/bm-20241219-3.14.0a3%2B-39e69a7/bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.12.6.svg) | 1.051x β
[π](results/bm-20241219-3.14.0a3%2B-39e69a7/bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.13.0rc2.md)[π](results/bm-20241219-3.14.0a3%2B-39e69a7/bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.13.0rc2.svg) | |
| [2024-12-19](results/bm-20241219-3.14.0a3%2B-39e69a7-NOGIL) | python/39e69a7cd54d44c9061d | 39e69a7 (NOGIL) | 1.189x β
[π](results/bm-20241219-3.14.0a3%2B-39e69a7-NOGIL/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.12.6.md)[π](results/bm-20241219-3.14.0a3%2B-39e69a7-NOGIL/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.12.6.svg) | 1.215x β
[π](results/bm-20241219-3.14.0a3%2B-39e69a7-NOGIL/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.13.0rc2.md)[π](results/bm-20241219-3.14.0a3%2B-39e69a7-NOGIL/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.13.0rc2.svg) | 1.246x β
[π](results/bm-20241219-3.14.0a3%2B-39e69a7-NOGIL/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-base.md)[π](results/bm-20241219-3.14.0a3%2B-39e69a7-NOGIL/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-base.svg)[π§ ](results/bm-20241219-3.14.0a3%2B-39e69a7-NOGIL/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-base-mem.svg) |
| [2024-12-18](results/bm-20241218-3.14.0a3%2B-f802c8b-NOGIL) | python/f802c8bf872ab882d305 | f802c8b (NOGIL) | 1.218x β
[π](results/bm-20241218-3.14.0a3%2B-f802c8b-NOGIL/bm-20241218-vultr-x86_64-python-f802c8bf872ab882d305-3.14.0a3%2B-f802c8b-vs-3.12.6.md)[π](results/bm-20241218-3.14.0a3%2B-f802c8b-NOGIL/bm-20241218-vultr-x86_64-python-f802c8bf872ab882d305-3.14.0a3%2B-f802c8b-vs-3.12.6.svg) | 1.243x β
[π](results/bm-20241218-3.14.0a3%2B-f802c8b-NOGIL/bm-20241218-vultr-x86_64-python-f802c8bf872ab882d305-3.14.0a3%2B-f802c8b-vs-3.13.0rc2.md)[π](results/bm-20241218-3.14.0a3%2B-f802c8b-NOGIL/bm-20241218-vultr-x86_64-python-f802c8bf872ab882d305-3.14.0a3%2B-f802c8b-vs-3.13.0rc2.svg) | 1.266x β
[π](results/bm-20241218-3.14.0a3%2B-f802c8b-NOGIL/bm-20241218-vultr-x86_64-python-f802c8bf872ab882d305-3.14.0a3%2B-f802c8b-vs-base.md)[π](results/bm-20241218-3.14.0a3%2B-f802c8b-NOGIL/bm-20241218-vultr-x86_64-python-f802c8bf872ab882d305-3.14.0a3%2B-f802c8b-vs-base.svg)[π§ ](results/bm-20241218-3.14.0a3%2B-f802c8b-NOGIL/bm-20241218-vultr-x86_64-python-f802c8bf872ab882d305-3.14.0a3%2B-f802c8b-vs-base-mem.svg) |
| [2024-12-18](results/bm-20241218-3.14.0a3%2B-f802c8b) | python/f802c8bf872ab882d305 | f802c8b | 1.076x β
[π](results/bm-20241218-3.14.0a3%2B-f802c8b/bm-20241218-vultr-x86_64-python-f802c8bf872ab882d305-3.14.0a3%2B-f802c8b-vs-3.12.6.md)[π](results/bm-20241218-3.14.0a3%2B-f802c8b/bm-20241218-vultr-x86_64-python-f802c8bf872ab882d305-3.14.0a3%2B-f802c8b-vs-3.12.6.svg) | 1.037x β
[π](results/bm-20241218-3.14.0a3%2B-f802c8b/bm-20241218-vultr-x86_64-python-f802c8bf872ab882d305-3.14.0a3%2B-f802c8b-vs-3.13.0rc2.md)[π](results/bm-20241218-3.14.0a3%2B-f802c8b/bm-20241218-vultr-x86_64-python-f802c8bf872ab882d305-3.14.0a3%2B-f802c8b-vs-3.13.0rc2.svg) | |
diff --git a/results/bm-20241219-3.14.0a3+-39e69a7/README.md b/results/bm-20241219-3.14.0a3+-39e69a7/README.md
new file mode 100644
index 00000000..d6489d3f
--- /dev/null
+++ b/results/bm-20241219-3.14.0a3+-39e69a7/README.md
@@ -0,0 +1,70 @@
+# Results
+
+- fork: python/39e69a7cd54d44c9061d
+- version: 3.14.0a3+
+- config:
+- commit hash: [39e69a7](https://github.com/python/cpython/commit/39e69a7)
+- commit date: 2024-12-19T15:38:42-08:00
+- commit merge base: [c14db202750ff9eaf3919298f1172270b7dfd64e](https://github.com/python/cpython/commit/c14db202750ff9eaf3919298f1172270b7dfd64e)
+- fork: mpage/39e69a7cd54d44c9061d
+- commit hash: [39e69a7](https://github.com/mpage/cpython/commit/39e69a7)
+- ref: 39e69a7cd54d44c9061d
+
+## linux x86_64 (linux)
+
+- [GitHub Action run](https://github.com/facebookexperimental/free-threading-benchmarking/actions/runs/12423087893)
+- cpu model: Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
+- platform: Linux-5.15.0-1071-aws-x86_64-with-glibc2.31
+- [raw results](bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7.json)
+
+### vs. 3.12.6
+
+- Geometric mean: 1.102x faster (HPT: reliability of 100.00%, 1.04x faster at 99th %ile)
+- Memory usage: 1.13x
+- missing benchmarks: aiohttp, asyncio_tcp, asyncio_tcp_ssl, chameleon, dask, flaskblogging, gunicorn, 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-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.12.6.md)
+- [πtime plot](bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.12.6.svg)
+
+### vs. 3.13.0rc2
+
+- Geometric mean: 1.058x faster (HPT: reliability of 100.00%, 1.03x faster at 99th %ile)
+- Memory usage: 1.13x
+- missing benchmarks: aiohttp, asyncio_tcp, asyncio_tcp_ssl, chameleon, dask, flaskblogging, gunicorn, 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-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.13.0rc2.md)
+- [πtime plot](bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.13.0rc2.svg)
+
+## linux x86_64 (vultr)
+
+- [GitHub Action run](https://github.com/facebookexperimental/free-threading-benchmarking/actions/runs/12423087893)
+- cpu model: Intel(R) Xeon(R) E-2286G CPU @ 4.00GHz
+- platform: Linux-6.8.0-45-generic-x86_64-with-glibc2.39
+- [GitHub Action run](https://github.com/facebookexperimental/free-threading-benchmarking/actions/runs/12442248008)
+- [raw results](bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7.json)
+- [raw results](bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7.json)
+
+### vs. 3.12.6
+
+- Geometric mean: 1.084x 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
+- Geometric mean: 1.089x faster (HPT: reliability of 100.00%, 1.05x faster at 99th %ile)
+- [πtable](bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.12.6.md)
+- [πtime plot](bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.12.6.svg)
+- [πtable](bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.12.6.md)
+- [πtime plot](bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.12.6.svg)
+
+### vs. 3.13.0rc2
+
+- Geometric mean: 1.046x faster (HPT: reliability of 100.00%, 1.01x faster at 99th %ile)
+- Memory usage: 1.10x
+- 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
+- Geometric mean: 1.051x faster (HPT: reliability of 100.00%, 1.02x faster at 99th %ile)
+- [πtable](bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.13.0rc2.md)
+- [πtime plot](bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.13.0rc2.svg)
+- [πtable](bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.13.0rc2.md)
+- [πtime plot](bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3%2B-39e69a7-vs-3.13.0rc2.svg)
+
diff --git a/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.12.6.md b/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.12.6.md
new file mode 100644
index 00000000..f44ec1ff
--- /dev/null
+++ b/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.12.6.md
@@ -0,0 +1,179 @@
+# Results vs. 3.12.6
+
+- fork: python
+- ref: 39e69a7cd54d44c9061d
+- machine: linux-x86_64
+- commit hash: 39e69a7
+- commit date: 2024-12-19
+- overall geometric mean: 1.102x faster
+- HPT reliability: 100.00%
+- HPT 99th percentile: 1.04x faster
+- Memory change: 1.13x
+
+Benchmarks with tag 'apps':
+===========================
+
+| Benchmark | bm-20240906-linux-x86_64-python-v3.12.6-3.12.6-a4a2d2b | bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------|:------------------------------------------------------:|:----------------------------------------------------------------------:|
+| docutils | 4.00 sec | 3.74 sec: 1.07x faster |
+| Geometric mean | (ref) | 1.02x faster |
+
+Benchmark hidden because not significant (2): 2to3, html5lib
+
+Benchmarks with tag 'asyncio':
+==============================
+
+| Benchmark | bm-20240906-linux-x86_64-python-v3.12.6-3.12.6-a4a2d2b | bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------------------|:------------------------------------------------------:|:----------------------------------------------------------------------:|
+| async_tree_io_tg | 1.93 sec | 882 ms: 2.19x faster |
+| async_tree_io | 1.85 sec | 894 ms: 2.07x faster |
+| async_tree_memoization_tg | 930 ms | 465 ms: 2.00x faster |
+| async_tree_memoization | 977 ms | 496 ms: 1.97x faster |
+| async_tree_none | 741 ms | 382 ms: 1.94x faster |
+| async_tree_none_tg | 704 ms | 397 ms: 1.77x faster |
+| async_tree_cpu_io_mixed_tg | 1.10 sec | 710 ms: 1.55x faster |
+| async_tree_cpu_io_mixed | 1.08 sec | 777 ms: 1.39x faster |
+| asyncio_websockets | 748 ms | 776 ms: 1.04x slower |
+| Geometric mean | (ref) | 1.56x faster |
+
+Benchmark hidden because not significant (2): async_generators, coroutines
+
+Benchmarks with tag 'math':
+===========================
+
+| Benchmark | bm-20240906-linux-x86_64-python-v3.12.6-3.12.6-a4a2d2b | bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------|:------------------------------------------------------:|:----------------------------------------------------------------------:|
+| pidigits | 250 ms | 226 ms: 1.10x faster |
+| float | 123 ms | 113 ms: 1.09x faster |
+| nbody | 119 ms | 133 ms: 1.11x slower |
+| Geometric mean | (ref) | 1.03x faster |
+
+Benchmarks with tag 'regex':
+============================
+
+| Benchmark | bm-20240906-linux-x86_64-python-v3.12.6-3.12.6-a4a2d2b | bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------|:------------------------------------------------------:|:----------------------------------------------------------------------:|
+| regex_effbot | 5.13 ms | 4.29 ms: 1.20x faster |
+| regex_compile | 187 ms | 171 ms: 1.09x faster |
+| regex_dna | 278 ms | 291 ms: 1.05x slower |
+| Geometric mean | (ref) | 1.05x faster |
+
+Benchmark hidden because not significant (1): regex_v8
+
+Benchmarks with tag 'serialize':
+================================
+
+| Benchmark | bm-20240906-linux-x86_64-python-v3.12.6-3.12.6-a4a2d2b | bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|---------------------|:------------------------------------------------------:|:----------------------------------------------------------------------:|
+| xml_etree_parse | 241 ms | 199 ms: 1.21x faster |
+| xml_etree_iterparse | 169 ms | 142 ms: 1.19x faster |
+| tomli_loads | 2.88 sec | 2.63 sec: 1.10x faster |
+| json_loads | 37.9 us | 34.6 us: 1.10x faster |
+| xml_etree_generate | 127 ms | 120 ms: 1.06x faster |
+| xml_etree_process | 83.7 ms | 80.2 ms: 1.04x faster |
+| json_dumps | 14.3 ms | 16.2 ms: 1.13x slower |
+| Geometric mean | (ref) | 1.07x faster |
+
+Benchmark hidden because not significant (2): pickle_pure_python, unpickle_pure_python
+
+Benchmarks with tag 'startup':
+==============================
+
+| Benchmark | bm-20240906-linux-x86_64-python-v3.12.6-3.12.6-a4a2d2b | bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|------------------------|:------------------------------------------------------:|:----------------------------------------------------------------------:|
+| python_startup_no_site | 17.6 ms | 16.2 ms: 1.09x faster |
+| python_startup | 23.7 ms | 26.9 ms: 1.13x slower |
+| Geometric mean | (ref) | 1.02x slower |
+
+Benchmarks with tag 'template':
+===============================
+
+Benchmark hidden because not significant (4): django_template, genshi_text, genshi_xml, mako
+
+All benchmarks:
+===============
+
+| Benchmark | bm-20240906-linux-x86_64-python-v3.12.6-3.12.6-a4a2d2b | bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------------------|:------------------------------------------------------:|:----------------------------------------------------------------------:|
+| async_tree_io_tg | 1.93 sec | 882 ms: 2.19x faster |
+| async_tree_io | 1.85 sec | 894 ms: 2.07x faster |
+| async_tree_memoization_tg | 930 ms | 465 ms: 2.00x faster |
+| async_tree_memoization | 977 ms | 496 ms: 1.97x faster |
+| async_tree_none | 741 ms | 382 ms: 1.94x faster |
+| async_tree_none_tg | 704 ms | 397 ms: 1.77x faster |
+| async_tree_cpu_io_mixed_tg | 1.10 sec | 710 ms: 1.55x faster |
+| async_tree_cpu_io_mixed | 1.08 sec | 777 ms: 1.39x faster |
+| deepcopy | 468 us | 369 us: 1.27x faster |
+| sqlalchemy_declarative | 218 ms | 178 ms: 1.22x faster |
+| xml_etree_parse | 241 ms | 199 ms: 1.21x faster |
+| deepcopy_memo | 52.4 us | 43.7 us: 1.20x faster |
+| regex_effbot | 5.13 ms | 4.29 ms: 1.20x faster |
+| xml_etree_iterparse | 169 ms | 142 ms: 1.19x faster |
+| pylint | 465 ms | 394 ms: 1.18x faster |
+| comprehensions | 27.1 us | 23.1 us: 1.17x faster |
+| pycparser | 1.79 sec | 1.53 sec: 1.17x faster |
+| logging_simple | 9.45 us | 8.13 us: 1.16x faster |
+| pyflate | 727 ms | 633 ms: 1.15x faster |
+| sqlglot_transpile | 2.34 ms | 2.06 ms: 1.14x faster |
+| bpe_tokeniser | 6.59 sec | 5.80 sec: 1.14x faster |
+| richards_super | 72.8 ms | 64.1 ms: 1.13x faster |
+| raytrace | 408 ms | 362 ms: 1.13x faster |
+| scimark_sparse_mat_mult | 6.70 ms | 5.97 ms: 1.12x faster |
+| sqlglot_normalize | 157 ms | 141 ms: 1.11x faster |
+| sympy_str | 385 ms | 348 ms: 1.11x faster |
+| pidigits | 250 ms | 226 ms: 1.10x faster |
+| crypto_pyaes | 107 ms | 97.4 ms: 1.10x faster |
+| thrift | 1.06 ms | 964 us: 1.10x faster |
+| tomli_loads | 2.88 sec | 2.63 sec: 1.10x faster |
+| json_loads | 37.9 us | 34.6 us: 1.10x faster |
+| regex_compile | 187 ms | 171 ms: 1.09x faster |
+| float | 123 ms | 113 ms: 1.09x faster |
+| typing_runtime_protocols | 224 us | 206 us: 1.09x faster |
+| pathlib | 31.6 ms | 29.1 ms: 1.09x faster |
+| python_startup_no_site | 17.6 ms | 16.2 ms: 1.09x faster |
+| dulwich_log | 100 ms | 92.5 ms: 1.08x faster |
+| pprint_pformat | 1.98 sec | 1.83 sec: 1.08x faster |
+| sympy_sum | 222 ms | 205 ms: 1.08x faster |
+| spectral_norm | 156 ms | 144 ms: 1.08x faster |
+| scimark_fft | 500 ms | 465 ms: 1.08x faster |
+| nqueens | 117 ms | 109 ms: 1.07x faster |
+| richards | 60.3 ms | 56.4 ms: 1.07x faster |
+| fannkuch | 540 ms | 506 ms: 1.07x faster |
+| docutils | 4.00 sec | 3.74 sec: 1.07x faster |
+| xml_etree_generate | 127 ms | 120 ms: 1.06x faster |
+| sqlite_synth | 3.87 us | 3.65 us: 1.06x faster |
+| mdp | 3.97 sec | 3.75 sec: 1.06x faster |
+| scimark_sor | 167 ms | 158 ms: 1.06x faster |
+| scimark_monte_carlo | 96.4 ms | 91.6 ms: 1.05x faster |
+| xml_etree_process | 83.7 ms | 80.2 ms: 1.04x faster |
+| pprint_safe_repr | 967 ms | 932 ms: 1.04x faster |
+| asyncio_websockets | 748 ms | 776 ms: 1.04x slower |
+| regex_dna | 278 ms | 291 ms: 1.05x slower |
+| logging_silent | 139 ns | 149 ns: 1.07x slower |
+| telco | 9.59 ms | 10.3 ms: 1.07x slower |
+| bench_thread_pool | 3.48 ms | 3.79 ms: 1.09x slower |
+| nbody | 119 ms | 133 ms: 1.11x slower |
+| chaos | 84.9 ms | 94.9 ms: 1.12x slower |
+| coverage | 95.4 ms | 108 ms: 1.13x slower |
+| json_dumps | 14.3 ms | 16.2 ms: 1.13x slower |
+| python_startup | 23.7 ms | 26.9 ms: 1.13x slower |
+| gc_traversal | 5.86 ms | 8.83 ms: 1.51x slower |
+| create_gc_cycles | 1.94 ms | 3.39 ms: 1.75x slower |
+| bench_mp_pool | 20.7 ms | 94.7 ms: 4.57x slower |
+| Geometric mean | (ref) | 1.07x faster |
+
+Benchmark hidden because not significant (25): go, meteor_contest, sympy_integrate, html5lib, sqlglot_parse, django_template, sqlglot_optimize, genshi_text, pickle_pure_python, unpickle_pure_python, sqlalchemy_imperative, async_generators, logging_format, genshi_xml, generators, coroutines, scimark_lu, mako, sympy_expand, regex_v8, deltablue, deepcopy_reduce, hexiom, 2to3, json
+Ignored benchmarks (15) of results/bm-20240906-3.12.6-a4a2d2b/bm-20240906-linux-x86_64-python-v3.12.6-3.12.6-a4a2d2b.json: aiohttp, asyncio_tcp, asyncio_tcp_ssl, chameleon, dask, flaskblogging, gunicorn, mypy2, pickle, pickle_dict, pickle_list, tornado_http, unpack_sequence, unpickle, unpickle_list
+Ignored benchmarks (6) of results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7.json: connected_components, k_core, many_optionals, shortest_path, sphinx, subparsers
+
+- Geometric mean (including insignificant results): 1.102x faster
+
+# HPT report
+
+- Reliability score: 100.00% likely to be faster
+- 90% likely to have a speedup of 1.06x
+- 95% likely to have a speedup of 1.05x
+- 99% likely to have a speedup of 1.04x
+
+# Memory
+- memory change: 1.13x
\ No newline at end of file
diff --git a/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.12.6.svg b/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.12.6.svg
new file mode 100644
index 00000000..f8661573
--- /dev/null
+++ b/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.12.6.svg
@@ -0,0 +1,3186 @@
+
+
+
diff --git a/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.13.0rc2.md b/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.13.0rc2.md
new file mode 100644
index 00000000..63e69c2a
--- /dev/null
+++ b/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.13.0rc2.md
@@ -0,0 +1,171 @@
+# Results vs. 3.13.0rc2
+
+- fork: python
+- ref: 39e69a7cd54d44c9061d
+- machine: linux-x86_64
+- commit hash: 39e69a7
+- commit date: 2024-12-19
+- overall geometric mean: 1.058x faster
+- HPT reliability: 100.00%
+- HPT 99th percentile: 1.03x faster
+- Memory change: 1.13x
+
+Benchmarks with tag 'apps':
+===========================
+
+| Benchmark | bm-20240906-linux-x86_64-python-v3.13.0rc2-3.13.0rc2-ec61006 | bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------|:------------------------------------------------------------:|:----------------------------------------------------------------------:|
+| 2to3 | 445 ms | 472 ms: 1.06x slower |
+| docutils | 4.01 sec | 3.74 sec: 1.07x faster |
+| html5lib | 92.6 ms | 86.3 ms: 1.07x faster |
+| Geometric mean | (ref) | 1.03x faster |
+
+Benchmarks with tag 'asyncio':
+==============================
+
+| Benchmark | bm-20240906-linux-x86_64-python-v3.13.0rc2-3.13.0rc2-ec61006 | bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------------------|:------------------------------------------------------------:|:----------------------------------------------------------------------:|
+| async_tree_io_tg | 1.40 sec | 882 ms: 1.59x faster |
+| async_tree_io | 1.39 sec | 894 ms: 1.55x faster |
+| async_tree_none | 572 ms | 382 ms: 1.50x faster |
+| async_tree_memoization_tg | 670 ms | 465 ms: 1.44x faster |
+| async_tree_memoization | 709 ms | 496 ms: 1.43x faster |
+| async_tree_none_tg | 504 ms | 397 ms: 1.27x faster |
+| async_tree_cpu_io_mixed_tg | 852 ms | 710 ms: 1.20x faster |
+| async_tree_cpu_io_mixed | 889 ms | 777 ms: 1.14x faster |
+| Geometric mean | (ref) | 1.27x faster |
+
+Benchmark hidden because not significant (3): coroutines, asyncio_websockets, async_generators
+
+Benchmarks with tag 'math':
+===========================
+
+| Benchmark | bm-20240906-linux-x86_64-python-v3.13.0rc2-3.13.0rc2-ec61006 | bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------|:------------------------------------------------------------:|:----------------------------------------------------------------------:|
+| pidigits | 251 ms | 226 ms: 1.11x faster |
+| nbody | 119 ms | 133 ms: 1.12x slower |
+| Geometric mean | (ref) | 1.01x faster |
+
+Benchmark hidden because not significant (1): float
+
+Benchmarks with tag 'regex':
+============================
+
+| Benchmark | bm-20240906-linux-x86_64-python-v3.13.0rc2-3.13.0rc2-ec61006 | bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------|:------------------------------------------------------------:|:----------------------------------------------------------------------:|
+| regex_effbot | 4.74 ms | 4.29 ms: 1.10x faster |
+| regex_compile | 182 ms | 171 ms: 1.07x faster |
+| Geometric mean | (ref) | 1.03x faster |
+
+Benchmark hidden because not significant (2): regex_v8, regex_dna
+
+Benchmarks with tag 'serialize':
+================================
+
+| Benchmark | bm-20240906-linux-x86_64-python-v3.13.0rc2-3.13.0rc2-ec61006 | bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|---------------------|:------------------------------------------------------------:|:----------------------------------------------------------------------:|
+| xml_etree_iterparse | 177 ms | 142 ms: 1.25x faster |
+| xml_etree_parse | 231 ms | 199 ms: 1.16x faster |
+| xml_etree_process | 85.9 ms | 80.2 ms: 1.07x faster |
+| tomli_loads | 2.78 sec | 2.63 sec: 1.06x faster |
+| json_dumps | 14.1 ms | 16.2 ms: 1.15x slower |
+| Geometric mean | (ref) | 1.04x faster |
+
+Benchmark hidden because not significant (4): xml_etree_generate, json_loads, unpickle_pure_python, pickle_pure_python
+
+Benchmarks with tag 'startup':
+==============================
+
+| Benchmark | bm-20240906-linux-x86_64-python-v3.13.0rc2-3.13.0rc2-ec61006 | bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|------------------------|:------------------------------------------------------------:|:----------------------------------------------------------------------:|
+| python_startup_no_site | 15.3 ms | 16.2 ms: 1.06x slower |
+| python_startup | 22.4 ms | 26.9 ms: 1.20x slower |
+| Geometric mean | (ref) | 1.13x slower |
+
+Benchmarks with tag 'template':
+===============================
+
+| Benchmark | bm-20240906-linux-x86_64-python-v3.13.0rc2-3.13.0rc2-ec61006 | bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------|:------------------------------------------------------------:|:----------------------------------------------------------------------:|
+| genshi_xml | 72.1 ms | 67.1 ms: 1.07x faster |
+| genshi_text | 31.7 ms | 29.5 ms: 1.07x faster |
+| Geometric mean | (ref) | 1.04x faster |
+
+Benchmark hidden because not significant (2): django_template, mako
+
+All benchmarks:
+===============
+
+| Benchmark | bm-20240906-linux-x86_64-python-v3.13.0rc2-3.13.0rc2-ec61006 | bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------------------|:------------------------------------------------------------:|:----------------------------------------------------------------------:|
+| async_tree_io_tg | 1.40 sec | 882 ms: 1.59x faster |
+| async_tree_io | 1.39 sec | 894 ms: 1.55x faster |
+| async_tree_none | 572 ms | 382 ms: 1.50x faster |
+| async_tree_memoization_tg | 670 ms | 465 ms: 1.44x faster |
+| async_tree_memoization | 709 ms | 496 ms: 1.43x faster |
+| deepcopy | 498 us | 369 us: 1.35x faster |
+| async_tree_none_tg | 504 ms | 397 ms: 1.27x faster |
+| xml_etree_iterparse | 177 ms | 142 ms: 1.25x faster |
+| async_tree_cpu_io_mixed_tg | 852 ms | 710 ms: 1.20x faster |
+| pylint | 470 ms | 394 ms: 1.19x faster |
+| telco | 12.2 ms | 10.3 ms: 1.18x faster |
+| richards | 65.5 ms | 56.4 ms: 1.16x faster |
+| xml_etree_parse | 231 ms | 199 ms: 1.16x faster |
+| go | 191 ms | 166 ms: 1.15x faster |
+| deepcopy_memo | 50.1 us | 43.7 us: 1.15x faster |
+| async_tree_cpu_io_mixed | 889 ms | 777 ms: 1.14x faster |
+| richards_super | 73.2 ms | 64.1 ms: 1.14x faster |
+| thrift | 1.10 ms | 964 us: 1.14x faster |
+| scimark_sor | 179 ms | 158 ms: 1.13x faster |
+| scimark_sparse_mat_mult | 6.76 ms | 5.97 ms: 1.13x faster |
+| pidigits | 251 ms | 226 ms: 1.11x faster |
+| regex_effbot | 4.74 ms | 4.29 ms: 1.10x faster |
+| sqlite_synth | 3.99 us | 3.65 us: 1.09x faster |
+| typing_runtime_protocols | 226 us | 206 us: 1.09x faster |
+| sympy_str | 379 ms | 348 ms: 1.09x faster |
+| spectral_norm | 157 ms | 144 ms: 1.08x faster |
+| bpe_tokeniser | 6.28 sec | 5.80 sec: 1.08x faster |
+| fannkuch | 547 ms | 506 ms: 1.08x faster |
+| genshi_xml | 72.1 ms | 67.1 ms: 1.07x faster |
+| genshi_text | 31.7 ms | 29.5 ms: 1.07x faster |
+| html5lib | 92.6 ms | 86.3 ms: 1.07x faster |
+| docutils | 4.01 sec | 3.74 sec: 1.07x faster |
+| xml_etree_process | 85.9 ms | 80.2 ms: 1.07x faster |
+| sqlglot_transpile | 2.20 ms | 2.06 ms: 1.07x faster |
+| regex_compile | 182 ms | 171 ms: 1.07x faster |
+| meteor_contest | 150 ms | 141 ms: 1.06x faster |
+| pprint_pformat | 1.94 sec | 1.83 sec: 1.06x faster |
+| pprint_safe_repr | 987 ms | 932 ms: 1.06x faster |
+| tomli_loads | 2.78 sec | 2.63 sec: 1.06x faster |
+| pyflate | 664 ms | 633 ms: 1.05x faster |
+| hexiom | 8.11 ms | 8.53 ms: 1.05x slower |
+| raytrace | 344 ms | 362 ms: 1.05x slower |
+| python_startup_no_site | 15.3 ms | 16.2 ms: 1.06x slower |
+| 2to3 | 445 ms | 472 ms: 1.06x slower |
+| json | 6.51 ms | 7.17 ms: 1.10x slower |
+| nbody | 119 ms | 133 ms: 1.12x slower |
+| chaos | 83.6 ms | 94.9 ms: 1.13x slower |
+| logging_silent | 130 ns | 149 ns: 1.14x slower |
+| json_dumps | 14.1 ms | 16.2 ms: 1.15x slower |
+| python_startup | 22.4 ms | 26.9 ms: 1.20x slower |
+| bench_thread_pool | 2.89 ms | 3.79 ms: 1.31x slower |
+| create_gc_cycles | 2.41 ms | 3.39 ms: 1.41x slower |
+| gc_traversal | 5.70 ms | 8.83 ms: 1.55x slower |
+| bench_mp_pool | 18.7 ms | 94.7 ms: 5.06x slower |
+| Geometric mean | (ref) | 1.03x faster |
+
+Benchmark hidden because not significant (34): logging_simple, sympy_integrate, coroutines, crypto_pyaes, pathlib, float, nqueens, sympy_sum, pycparser, xml_etree_generate, scimark_fft, django_template, mdp, dulwich_log, deltablue, sqlglot_parse, sqlglot_optimize, sympy_expand, coverage, mako, json_loads, sqlglot_normalize, scimark_monte_carlo, unpickle_pure_python, asyncio_websockets, regex_v8, deepcopy_reduce, async_generators, pickle_pure_python, logging_format, generators, regex_dna, comprehensions, scimark_lu
+Ignored benchmarks (14) of results/bm-20240906-3.13.0rc2-ec61006/bm-20240906-linux-x86_64-python-v3.13.0rc2-3.13.0rc2-ec61006.json: aiohttp, asyncio_tcp, asyncio_tcp_ssl, chameleon, dask, flaskblogging, gunicorn, pickle, pickle_dict, pickle_list, tornado_http, unpack_sequence, unpickle, unpickle_list
+Ignored benchmarks (8) of results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7.json: connected_components, k_core, many_optionals, shortest_path, sphinx, sqlalchemy_declarative, sqlalchemy_imperative, subparsers
+
+- Geometric mean (including insignificant results): 1.058x 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.03x
+
+# Memory
+- memory change: 1.13x
\ No newline at end of file
diff --git a/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.13.0rc2.svg b/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.13.0rc2.svg
new file mode 100644
index 00000000..2b6b3045
--- /dev/null
+++ b/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-linux-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.13.0rc2.svg
@@ -0,0 +1,3226 @@
+
+
+
diff --git a/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.12.6.md b/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.12.6.md
new file mode 100644
index 00000000..a2709c73
--- /dev/null
+++ b/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.12.6.md
@@ -0,0 +1,206 @@
+# Results vs. 3.12.6
+
+- fork: mpage
+- ref: 39e69a7cd54d44c9061d
+- machine: linux-x86_64
+- commit hash: 39e69a7
+- commit date: 2024-12-19
+- overall geometric mean: 1.089x faster
+- HPT reliability: 100.00%
+- HPT 99th percentile: 1.05x faster
+- Memory change: 1.11x
+
+Benchmarks with tag 'apps':
+===========================
+
+| Benchmark | bm-20240906-vultr-x86_64-python-v3.12.6-3.12.6-a4a2d2b | bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------|:------------------------------------------------------:|:---------------------------------------------------------------------:|
+| 2to3 | 264 ms | 255 ms: 1.04x faster |
+| docutils | 2.64 sec | 2.54 sec: 1.04x faster |
+| Geometric mean | (ref) | 1.04x faster |
+
+Benchmarks with tag 'asyncio':
+==============================
+
+| Benchmark | bm-20240906-vultr-x86_64-python-v3.12.6-3.12.6-a4a2d2b | bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------------------|:------------------------------------------------------:|:---------------------------------------------------------------------:|
+| async_tree_memoization_tg | 560 ms | 304 ms: 1.84x faster |
+| async_tree_io_tg | 1.11 sec | 612 ms: 1.81x faster |
+| async_tree_none_tg | 446 ms | 255 ms: 1.75x faster |
+| async_tree_io | 1.08 sec | 623 ms: 1.74x faster |
+| async_tree_none | 464 ms | 272 ms: 1.71x faster |
+| async_tree_memoization | 555 ms | 331 ms: 1.68x faster |
+| async_tree_cpu_io_mixed_tg | 723 ms | 579 ms: 1.25x faster |
+| async_tree_cpu_io_mixed | 715 ms | 596 ms: 1.20x faster |
+| coroutines | 23.9 ms | 21.4 ms: 1.12x faster |
+| async_generators | 384 ms | 353 ms: 1.09x 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-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------|:------------------------------------------------------:|:---------------------------------------------------------------------:|
+| float | 80.8 ms | 73.9 ms: 1.09x faster |
+| pidigits | 184 ms | 222 ms: 1.20x slower |
+| Geometric mean | (ref) | 1.03x 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-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------|:------------------------------------------------------:|:---------------------------------------------------------------------:|
+| regex_effbot | 3.17 ms | 2.74 ms: 1.15x faster |
+| regex_compile | 142 ms | 127 ms: 1.12x faster |
+| regex_dna | 168 ms | 175 ms: 1.04x slower |
+| regex_v8 | 20.6 ms | 24.1 ms: 1.17x slower |
+| Geometric mean | (ref) | 1.01x faster |
+
+Benchmarks with tag 'serialize':
+================================
+
+| Benchmark | bm-20240906-vultr-x86_64-python-v3.12.6-3.12.6-a4a2d2b | bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------------|:------------------------------------------------------:|:---------------------------------------------------------------------:|
+| tomli_loads | 2.11 sec | 1.89 sec: 1.11x faster |
+| xml_etree_parse | 139 ms | 128 ms: 1.08x faster |
+| xml_etree_iterparse | 96.7 ms | 90.8 ms: 1.07x faster |
+| unpickle_pure_python | 221 us | 209 us: 1.06x faster |
+| xml_etree_process | 59.0 ms | 57.5 ms: 1.03x faster |
+| xml_etree_generate | 85.2 ms | 83.3 ms: 1.02x faster |
+| json_loads | 26.5 us | 26.2 us: 1.01x faster |
+| pickle_pure_python | 308 us | 311 us: 1.01x slower |
+| json_dumps | 10.4 ms | 11.4 ms: 1.10x slower |
+| Geometric mean | (ref) | 1.03x faster |
+
+Benchmarks with tag 'startup':
+==============================
+
+| Benchmark | bm-20240906-vultr-x86_64-python-v3.12.6-3.12.6-a4a2d2b | bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|------------------------|:------------------------------------------------------:|:---------------------------------------------------------------------:|
+| python_startup_no_site | 7.16 ms | 7.48 ms: 1.05x slower |
+| python_startup | 9.93 ms | 14.7 ms: 1.48x slower |
+| Geometric mean | (ref) | 1.24x slower |
+
+Benchmarks with tag 'template':
+===============================
+
+| Benchmark | bm-20240906-vultr-x86_64-python-v3.12.6-3.12.6-a4a2d2b | bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|-----------------|:------------------------------------------------------:|:---------------------------------------------------------------------:|
+| genshi_text | 22.8 ms | 21.0 ms: 1.08x faster |
+| genshi_xml | 50.2 ms | 48.2 ms: 1.04x faster |
+| django_template | 34.7 ms | 34.4 ms: 1.01x faster |
+| mako | 11.0 ms | 11.7 ms: 1.07x slower |
+| Geometric mean | (ref) | 1.02x faster |
+
+All benchmarks:
+===============
+
+| Benchmark | bm-20240906-vultr-x86_64-python-v3.12.6-3.12.6-a4a2d2b | bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------------------|:------------------------------------------------------:|:---------------------------------------------------------------------:|
+| async_tree_memoization_tg | 560 ms | 304 ms: 1.84x faster |
+| async_tree_io_tg | 1.11 sec | 612 ms: 1.81x faster |
+| async_tree_none_tg | 446 ms | 255 ms: 1.75x faster |
+| async_tree_io | 1.08 sec | 623 ms: 1.74x faster |
+| async_tree_none | 464 ms | 272 ms: 1.71x faster |
+| async_tree_memoization | 555 ms | 331 ms: 1.68x faster |
+| deepcopy | 352 us | 253 us: 1.39x faster |
+| deepcopy_memo | 40.3 us | 29.5 us: 1.37x faster |
+| async_tree_cpu_io_mixed_tg | 723 ms | 579 ms: 1.25x faster |
+| generators | 32.2 ms | 26.5 ms: 1.22x faster |
+| deepcopy_reduce | 3.08 us | 2.55 us: 1.21x faster |
+| async_tree_cpu_io_mixed | 715 ms | 596 ms: 1.20x faster |
+| go | 139 ms | 116 ms: 1.20x faster |
+| pathlib | 21.5 ms | 18.1 ms: 1.19x faster |
+| comprehensions | 19.8 us | 16.8 us: 1.18x faster |
+| raytrace | 299 ms | 256 ms: 1.17x faster |
+| regex_effbot | 3.17 ms | 2.74 ms: 1.15x faster |
+| scimark_sor | 130 ms | 113 ms: 1.14x faster |
+| sqlalchemy_imperative | 21.8 ms | 19.2 ms: 1.14x faster |
+| crypto_pyaes | 76.6 ms | 67.4 ms: 1.14x faster |
+| logging_simple | 6.63 us | 5.84 us: 1.14x faster |
+| pylint | 319 ms | 281 ms: 1.13x faster |
+| logging_format | 7.35 us | 6.53 us: 1.12x faster |
+| regex_compile | 142 ms | 127 ms: 1.12x faster |
+| sqlalchemy_declarative | 143 ms | 128 ms: 1.12x faster |
+| coroutines | 23.9 ms | 21.4 ms: 1.12x faster |
+| tomli_loads | 2.11 sec | 1.89 sec: 1.11x faster |
+| spectral_norm | 110 ms | 99.0 ms: 1.11x faster |
+| bpe_tokeniser | 4.74 sec | 4.26 sec: 1.11x faster |
+| deltablue | 3.45 ms | 3.11 ms: 1.11x faster |
+| sqlglot_parse | 1.36 ms | 1.24 ms: 1.09x faster |
+| float | 80.8 ms | 73.9 ms: 1.09x faster |
+| sympy_sum | 166 ms | 152 ms: 1.09x faster |
+| async_generators | 384 ms | 353 ms: 1.09x faster |
+| scimark_fft | 342 ms | 314 ms: 1.09x faster |
+| richards | 45.9 ms | 42.2 ms: 1.09x faster |
+| genshi_text | 22.8 ms | 21.0 ms: 1.08x faster |
+| xml_etree_parse | 139 ms | 128 ms: 1.08x faster |
+| pyflate | 448 ms | 413 ms: 1.08x faster |
+| chaos | 62.8 ms | 58.2 ms: 1.08x faster |
+| sqlglot_transpile | 1.67 ms | 1.56 ms: 1.07x faster |
+| scimark_monte_carlo | 68.4 ms | 63.9 ms: 1.07x faster |
+| sympy_str | 292 ms | 272 ms: 1.07x faster |
+| xml_etree_iterparse | 96.7 ms | 90.8 ms: 1.07x faster |
+| logging_silent | 109 ns | 102 ns: 1.06x faster |
+| richards_super | 51.9 ms | 48.8 ms: 1.06x faster |
+| hexiom | 6.17 ms | 5.83 ms: 1.06x faster |
+| thrift | 791 us | 749 us: 1.06x faster |
+| pprint_pformat | 1.52 sec | 1.44 sec: 1.06x faster |
+| unpickle_pure_python | 221 us | 209 us: 1.06x faster |
+| dulwich_log | 78.9 ms | 74.7 ms: 1.06x faster |
+| json | 5.02 ms | 4.77 ms: 1.05x faster |
+| pycparser | 1.17 sec | 1.11 sec: 1.05x faster |
+| typing_runtime_protocols | 163 us | 155 us: 1.05x faster |
+| pprint_safe_repr | 743 ms | 708 ms: 1.05x faster |
+| meteor_contest | 104 ms | 98.9 ms: 1.05x faster |
+| scimark_sparse_mat_mult | 4.39 ms | 4.20 ms: 1.05x faster |
+| mdp | 2.42 sec | 2.32 sec: 1.04x faster |
+| scimark_lu | 114 ms | 110 ms: 1.04x faster |
+| genshi_xml | 50.2 ms | 48.2 ms: 1.04x faster |
+| docutils | 2.64 sec | 2.54 sec: 1.04x faster |
+| 2to3 | 264 ms | 255 ms: 1.04x faster |
+| sympy_integrate | 20.5 ms | 19.9 ms: 1.03x faster |
+| sqlglot_normalize | 107 ms | 104 ms: 1.03x faster |
+| xml_etree_process | 59.0 ms | 57.5 ms: 1.03x faster |
+| sympy_expand | 468 ms | 456 ms: 1.02x faster |
+| xml_etree_generate | 85.2 ms | 83.3 ms: 1.02x faster |
+| sqlglot_optimize | 53.3 ms | 52.2 ms: 1.02x faster |
+| nqueens | 80.1 ms | 78.6 ms: 1.02x faster |
+| json_loads | 26.5 us | 26.2 us: 1.01x faster |
+| fannkuch | 372 ms | 369 ms: 1.01x faster |
+| django_template | 34.7 ms | 34.4 ms: 1.01x faster |
+| pickle_pure_python | 308 us | 311 us: 1.01x slower |
+| asyncio_websockets | 517 ms | 522 ms: 1.01x slower |
+| regex_dna | 168 ms | 175 ms: 1.04x slower |
+| python_startup_no_site | 7.16 ms | 7.48 ms: 1.05x slower |
+| mako | 11.0 ms | 11.7 ms: 1.07x slower |
+| bench_thread_pool | 941 us | 1.03 ms: 1.10x slower |
+| coverage | 71.4 ms | 78.7 ms: 1.10x slower |
+| json_dumps | 10.4 ms | 11.4 ms: 1.10x slower |
+| telco | 6.53 ms | 7.23 ms: 1.11x slower |
+| gc_traversal | 3.46 ms | 3.97 ms: 1.15x slower |
+| regex_v8 | 20.6 ms | 24.1 ms: 1.17x slower |
+| pidigits | 184 ms | 222 ms: 1.20x slower |
+| python_startup | 9.93 ms | 14.7 ms: 1.48x slower |
+| create_gc_cycles | 1.09 ms | 1.82 ms: 1.67x slower |
+| bench_mp_pool | 10.8 ms | 88.8 ms: 8.22x slower |
+| Geometric mean | (ref) | 1.06x faster |
+
+Benchmark hidden because not significant (2): 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-20241219-3.14.0a3+-39e69a7/bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7.json: connected_components, k_core, many_optionals, shortest_path, sphinx, subparsers
+
+- Geometric mean (including insignificant results): 1.089x faster
+
+# HPT report
+
+- Reliability score: 100.00% likely to be faster
+- 90% likely to have a speedup of 1.05x
+- 95% likely to have a speedup of 1.05x
+- 99% likely to have a speedup of 1.05x
+
+# Memory
+- memory change: 1.11x
\ No newline at end of file
diff --git a/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.12.6.svg b/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.12.6.svg
new file mode 100644
index 00000000..36ac8124
--- /dev/null
+++ b/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.12.6.svg
@@ -0,0 +1,3057 @@
+
+
+
diff --git a/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.13.0rc2.md b/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.13.0rc2.md
new file mode 100644
index 00000000..b7ecaa9d
--- /dev/null
+++ b/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.13.0rc2.md
@@ -0,0 +1,199 @@
+# Results vs. 3.13.0rc2
+
+- fork: mpage
+- ref: 39e69a7cd54d44c9061d
+- machine: linux-x86_64
+- commit hash: 39e69a7
+- commit date: 2024-12-19
+- overall geometric mean: 1.051x faster
+- HPT reliability: 100.00%
+- HPT 99th percentile: 1.02x faster
+- Memory change: 1.10x
+
+Benchmarks with tag 'apps':
+===========================
+
+| Benchmark | bm-20240906-vultr-x86_64-python-v3.13.0rc2-3.13.0rc2-ec61006 | bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------|:------------------------------------------------------------:|:---------------------------------------------------------------------:|
+| 2to3 | 260 ms | 255 ms: 1.02x faster |
+| docutils | 2.62 sec | 2.54 sec: 1.03x 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-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------------------|:------------------------------------------------------------:|:---------------------------------------------------------------------:|
+| async_tree_io_tg | 913 ms | 612 ms: 1.49x faster |
+| async_tree_io | 876 ms | 623 ms: 1.41x faster |
+| async_tree_memoization | 461 ms | 331 ms: 1.39x faster |
+| async_tree_memoization_tg | 414 ms | 304 ms: 1.36x faster |
+| async_tree_none_tg | 336 ms | 255 ms: 1.32x faster |
+| async_tree_none | 354 ms | 272 ms: 1.30x faster |
+| async_tree_cpu_io_mixed | 666 ms | 596 ms: 1.12x faster |
+| async_tree_cpu_io_mixed_tg | 638 ms | 579 ms: 1.10x faster |
+| coroutines | 23.6 ms | 21.4 ms: 1.10x faster |
+| async_generators | 377 ms | 353 ms: 1.07x 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-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------|:------------------------------------------------------------:|:---------------------------------------------------------------------:|
+| float | 77.5 ms | 73.9 ms: 1.05x faster |
+| pidigits | 217 ms | 222 ms: 1.02x slower |
+| nbody | 85.1 ms | 89.3 ms: 1.05x slower |
+| Geometric mean | (ref) | 1.01x slower |
+
+Benchmarks with tag 'regex':
+============================
+
+| Benchmark | bm-20240906-vultr-x86_64-python-v3.13.0rc2-3.13.0rc2-ec61006 | bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------|:------------------------------------------------------------:|:---------------------------------------------------------------------:|
+| regex_effbot | 3.08 ms | 2.74 ms: 1.12x faster |
+| regex_compile | 132 ms | 127 ms: 1.04x faster |
+| regex_dna | 180 ms | 175 ms: 1.03x faster |
+| regex_v8 | 22.7 ms | 24.1 ms: 1.06x slower |
+| Geometric mean | (ref) | 1.03x faster |
+
+Benchmarks with tag 'serialize':
+================================
+
+| Benchmark | bm-20240906-vultr-x86_64-python-v3.13.0rc2-3.13.0rc2-ec61006 | bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------------|:------------------------------------------------------------:|:---------------------------------------------------------------------:|
+| xml_etree_parse | 136 ms | 128 ms: 1.07x faster |
+| tomli_loads | 2.01 sec | 1.89 sec: 1.06x faster |
+| xml_etree_iterparse | 94.9 ms | 90.8 ms: 1.05x faster |
+| xml_etree_process | 59.3 ms | 57.5 ms: 1.03x faster |
+| json_loads | 27.0 us | 26.2 us: 1.03x faster |
+| xml_etree_generate | 85.4 ms | 83.3 ms: 1.03x faster |
+| unpickle_pure_python | 210 us | 209 us: 1.01x faster |
+| pickle_pure_python | 294 us | 311 us: 1.05x slower |
+| json_dumps | 10.5 ms | 11.4 ms: 1.08x slower |
+| Geometric mean | (ref) | 1.01x faster |
+
+Benchmarks with tag 'startup':
+==============================
+
+| Benchmark | bm-20240906-vultr-x86_64-python-v3.13.0rc2-3.13.0rc2-ec61006 | bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|------------------------|:------------------------------------------------------------:|:---------------------------------------------------------------------:|
+| python_startup_no_site | 7.39 ms | 7.48 ms: 1.01x slower |
+| python_startup | 11.0 ms | 14.7 ms: 1.34x 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-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|-----------------|:------------------------------------------------------------:|:---------------------------------------------------------------------:|
+| genshi_text | 21.5 ms | 21.0 ms: 1.02x faster |
+| genshi_xml | 48.8 ms | 48.2 ms: 1.01x faster |
+| django_template | 34.1 ms | 34.4 ms: 1.01x slower |
+| mako | 11.3 ms | 11.7 ms: 1.03x slower |
+| Geometric mean | (ref) | 1.00x slower |
+
+All benchmarks:
+===============
+
+| Benchmark | bm-20240906-vultr-x86_64-python-v3.13.0rc2-3.13.0rc2-ec61006 | bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------------------|:------------------------------------------------------------:|:---------------------------------------------------------------------:|
+| async_tree_io_tg | 913 ms | 612 ms: 1.49x faster |
+| async_tree_io | 876 ms | 623 ms: 1.41x faster |
+| deepcopy | 355 us | 253 us: 1.40x faster |
+| async_tree_memoization | 461 ms | 331 ms: 1.39x faster |
+| async_tree_memoization_tg | 414 ms | 304 ms: 1.36x faster |
+| deepcopy_memo | 39.1 us | 29.5 us: 1.33x faster |
+| async_tree_none_tg | 336 ms | 255 ms: 1.32x faster |
+| async_tree_none | 354 ms | 272 ms: 1.30x faster |
+| deepcopy_reduce | 3.11 us | 2.55 us: 1.22x faster |
+| go | 141 ms | 116 ms: 1.21x faster |
+| scimark_sor | 134 ms | 113 ms: 1.18x faster |
+| pylint | 317 ms | 281 ms: 1.13x faster |
+| regex_effbot | 3.08 ms | 2.74 ms: 1.12x faster |
+| spectral_norm | 111 ms | 99.0 ms: 1.12x faster |
+| scimark_sparse_mat_mult | 4.71 ms | 4.20 ms: 1.12x faster |
+| async_tree_cpu_io_mixed | 666 ms | 596 ms: 1.12x faster |
+| scimark_fft | 349 ms | 314 ms: 1.11x faster |
+| async_tree_cpu_io_mixed_tg | 638 ms | 579 ms: 1.10x faster |
+| coroutines | 23.6 ms | 21.4 ms: 1.10x faster |
+| generators | 28.8 ms | 26.5 ms: 1.09x faster |
+| pyflate | 449 ms | 413 ms: 1.08x faster |
+| telco | 7.82 ms | 7.23 ms: 1.08x faster |
+| richards | 45.2 ms | 42.2 ms: 1.07x faster |
+| async_generators | 377 ms | 353 ms: 1.07x faster |
+| xml_etree_parse | 136 ms | 128 ms: 1.07x faster |
+| tomli_loads | 2.01 sec | 1.89 sec: 1.06x faster |
+| richards_super | 51.6 ms | 48.8 ms: 1.06x faster |
+| pathlib | 19.2 ms | 18.1 ms: 1.06x faster |
+| logging_simple | 6.16 us | 5.84 us: 1.06x faster |
+| coverage | 83.0 ms | 78.7 ms: 1.05x faster |
+| float | 77.5 ms | 73.9 ms: 1.05x faster |
+| logging_format | 6.84 us | 6.53 us: 1.05x faster |
+| xml_etree_iterparse | 94.9 ms | 90.8 ms: 1.05x faster |
+| bpe_tokeniser | 4.45 sec | 4.26 sec: 1.04x faster |
+| pprint_safe_repr | 738 ms | 708 ms: 1.04x faster |
+| pprint_pformat | 1.50 sec | 1.44 sec: 1.04x faster |
+| regex_compile | 132 ms | 127 ms: 1.04x faster |
+| thrift | 778 us | 749 us: 1.04x faster |
+| json | 4.93 ms | 4.77 ms: 1.03x faster |
+| xml_etree_process | 59.3 ms | 57.5 ms: 1.03x faster |
+| json_loads | 27.0 us | 26.2 us: 1.03x faster |
+| docutils | 2.62 sec | 2.54 sec: 1.03x faster |
+| regex_dna | 180 ms | 175 ms: 1.03x faster |
+| hexiom | 5.99 ms | 5.83 ms: 1.03x faster |
+| meteor_contest | 102 ms | 98.9 ms: 1.03x faster |
+| scimark_lu | 113 ms | 110 ms: 1.03x faster |
+| xml_etree_generate | 85.4 ms | 83.3 ms: 1.03x faster |
+| genshi_text | 21.5 ms | 21.0 ms: 1.02x faster |
+| scimark_monte_carlo | 65.4 ms | 63.9 ms: 1.02x faster |
+| sympy_sum | 156 ms | 152 ms: 1.02x faster |
+| sqlglot_normalize | 106 ms | 104 ms: 1.02x faster |
+| 2to3 | 260 ms | 255 ms: 1.02x faster |
+| mdp | 2.36 sec | 2.32 sec: 1.01x faster |
+| genshi_xml | 48.8 ms | 48.2 ms: 1.01x faster |
+| sqlglot_optimize | 52.7 ms | 52.2 ms: 1.01x faster |
+| sqlite_synth | 2.21 us | 2.19 us: 1.01x faster |
+| sympy_str | 275 ms | 272 ms: 1.01x faster |
+| sqlglot_parse | 1.25 ms | 1.24 ms: 1.01x faster |
+| crypto_pyaes | 67.9 ms | 67.4 ms: 1.01x faster |
+| pycparser | 1.12 sec | 1.11 sec: 1.01x faster |
+| unpickle_pure_python | 210 us | 209 us: 1.01x faster |
+| logging_silent | 103 ns | 102 ns: 1.00x faster |
+| fannkuch | 370 ms | 369 ms: 1.00x faster |
+| sympy_integrate | 19.8 ms | 19.9 ms: 1.00x slower |
+| asyncio_websockets | 520 ms | 522 ms: 1.00x slower |
+| django_template | 34.1 ms | 34.4 ms: 1.01x slower |
+| raytrace | 253 ms | 256 ms: 1.01x slower |
+| python_startup_no_site | 7.39 ms | 7.48 ms: 1.01x slower |
+| chaos | 57.3 ms | 58.2 ms: 1.02x slower |
+| comprehensions | 16.5 us | 16.8 us: 1.02x slower |
+| pidigits | 217 ms | 222 ms: 1.02x slower |
+| mako | 11.3 ms | 11.7 ms: 1.03x slower |
+| nbody | 85.1 ms | 89.3 ms: 1.05x slower |
+| pickle_pure_python | 294 us | 311 us: 1.05x slower |
+| regex_v8 | 22.7 ms | 24.1 ms: 1.06x slower |
+| json_dumps | 10.5 ms | 11.4 ms: 1.08x slower |
+| bench_thread_pool | 919 us | 1.03 ms: 1.12x slower |
+| gc_traversal | 3.14 ms | 3.97 ms: 1.26x slower |
+| python_startup | 11.0 ms | 14.7 ms: 1.34x slower |
+| create_gc_cycles | 1.34 ms | 1.82 ms: 1.36x slower |
+| bench_mp_pool | 11.0 ms | 88.8 ms: 8.08x slower |
+| Geometric mean | (ref) | 1.02x faster |
+
+Benchmark hidden because not significant (6): deltablue, sqlglot_transpile, dulwich_log, sympy_expand, nqueens, 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-20241219-3.14.0a3+-39e69a7/bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7.json: connected_components, k_core, many_optionals, shortest_path, sphinx, sqlalchemy_declarative, sqlalchemy_imperative, subparsers
+
+- Geometric mean (including insignificant results): 1.051x faster
+
+# HPT report
+
+- Reliability score: 100.00% likely to be faster
+- 90% likely to have a speedup of 1.02x
+- 95% likely to have a speedup of 1.02x
+- 99% likely to have a speedup of 1.02x
+
+# Memory
+- memory change: 1.10x
\ No newline at end of file
diff --git a/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.13.0rc2.svg b/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.13.0rc2.svg
new file mode 100644
index 00000000..d5293c53
--- /dev/null
+++ b/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-vultr-x86_64-mpage-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.13.0rc2.svg
@@ -0,0 +1,2958 @@
+
+
+
diff --git a/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.12.6.md b/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.12.6.md
new file mode 100644
index 00000000..62b4111d
--- /dev/null
+++ b/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.12.6.md
@@ -0,0 +1,206 @@
+# Results vs. 3.12.6
+
+- fork: python
+- ref: 39e69a7cd54d44c9061d
+- machine: linux-x86_64
+- commit hash: 39e69a7
+- commit date: 2024-12-19
+- overall geometric mean: 1.084x 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-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------|:------------------------------------------------------:|:----------------------------------------------------------------------:|
+| 2to3 | 264 ms | 256 ms: 1.03x faster |
+| docutils | 2.64 sec | 2.54 sec: 1.04x 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-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------------------|:------------------------------------------------------:|:----------------------------------------------------------------------:|
+| async_tree_io_tg | 1.11 sec | 605 ms: 1.83x faster |
+| async_tree_memoization_tg | 560 ms | 307 ms: 1.82x faster |
+| async_tree_none_tg | 446 ms | 254 ms: 1.75x faster |
+| async_tree_io | 1.08 sec | 624 ms: 1.74x faster |
+| async_tree_none | 464 ms | 275 ms: 1.69x faster |
+| async_tree_memoization | 555 ms | 332 ms: 1.67x faster |
+| async_tree_cpu_io_mixed_tg | 723 ms | 549 ms: 1.32x faster |
+| async_tree_cpu_io_mixed | 715 ms | 566 ms: 1.26x faster |
+| async_generators | 384 ms | 357 ms: 1.08x faster |
+| coroutines | 23.9 ms | 22.2 ms: 1.08x faster |
+| asyncio_websockets | 517 ms | 523 ms: 1.01x slower |
+| Geometric mean | (ref) | 1.44x faster |
+
+Benchmarks with tag 'math':
+===========================
+
+| Benchmark | bm-20240906-vultr-x86_64-python-v3.12.6-3.12.6-a4a2d2b | bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------|:------------------------------------------------------:|:----------------------------------------------------------------------:|
+| float | 80.8 ms | 74.6 ms: 1.08x faster |
+| nbody | 89.3 ms | 91.1 ms: 1.02x slower |
+| pidigits | 184 ms | 217 ms: 1.18x slower |
+| Geometric mean | (ref) | 1.03x slower |
+
+Benchmarks with tag 'regex':
+============================
+
+| Benchmark | bm-20240906-vultr-x86_64-python-v3.12.6-3.12.6-a4a2d2b | bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------|:------------------------------------------------------:|:----------------------------------------------------------------------:|
+| regex_effbot | 3.17 ms | 2.81 ms: 1.13x faster |
+| regex_compile | 142 ms | 127 ms: 1.12x faster |
+| regex_dna | 168 ms | 181 ms: 1.08x slower |
+| regex_v8 | 20.6 ms | 25.0 ms: 1.21x slower |
+| Geometric mean | (ref) | 1.01x slower |
+
+Benchmarks with tag 'serialize':
+================================
+
+| Benchmark | bm-20240906-vultr-x86_64-python-v3.12.6-3.12.6-a4a2d2b | bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------------|:------------------------------------------------------:|:----------------------------------------------------------------------:|
+| tomli_loads | 2.11 sec | 1.90 sec: 1.11x faster |
+| xml_etree_parse | 139 ms | 127 ms: 1.09x faster |
+| xml_etree_iterparse | 96.7 ms | 90.6 ms: 1.07x faster |
+| unpickle_pure_python | 221 us | 213 us: 1.04x faster |
+| xml_etree_generate | 85.2 ms | 82.9 ms: 1.03x faster |
+| xml_etree_process | 59.0 ms | 57.9 ms: 1.02x faster |
+| json_loads | 26.5 us | 26.1 us: 1.02x faster |
+| pickle_pure_python | 308 us | 316 us: 1.03x slower |
+| json_dumps | 10.4 ms | 11.3 ms: 1.09x slower |
+| Geometric mean | (ref) | 1.03x faster |
+
+Benchmarks with tag 'startup':
+==============================
+
+| Benchmark | bm-20240906-vultr-x86_64-python-v3.12.6-3.12.6-a4a2d2b | bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|------------------------|:------------------------------------------------------:|:----------------------------------------------------------------------:|
+| python_startup_no_site | 7.16 ms | 7.48 ms: 1.04x slower |
+| python_startup | 9.93 ms | 14.6 ms: 1.48x slower |
+| Geometric mean | (ref) | 1.24x slower |
+
+Benchmarks with tag 'template':
+===============================
+
+| Benchmark | bm-20240906-vultr-x86_64-python-v3.12.6-3.12.6-a4a2d2b | bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------|:------------------------------------------------------:|:----------------------------------------------------------------------:|
+| genshi_text | 22.8 ms | 21.4 ms: 1.07x faster |
+| genshi_xml | 50.2 ms | 48.9 ms: 1.03x faster |
+| mako | 11.0 ms | 11.5 ms: 1.05x slower |
+| Geometric mean | (ref) | 1.01x faster |
+
+Benchmark hidden because not significant (1): django_template
+
+All benchmarks:
+===============
+
+| Benchmark | bm-20240906-vultr-x86_64-python-v3.12.6-3.12.6-a4a2d2b | bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------------------|:------------------------------------------------------:|:----------------------------------------------------------------------:|
+| async_tree_io_tg | 1.11 sec | 605 ms: 1.83x faster |
+| async_tree_memoization_tg | 560 ms | 307 ms: 1.82x faster |
+| async_tree_none_tg | 446 ms | 254 ms: 1.75x faster |
+| async_tree_io | 1.08 sec | 624 ms: 1.74x faster |
+| async_tree_none | 464 ms | 275 ms: 1.69x faster |
+| async_tree_memoization | 555 ms | 332 ms: 1.67x faster |
+| deepcopy | 352 us | 253 us: 1.39x faster |
+| deepcopy_memo | 40.3 us | 30.1 us: 1.34x faster |
+| async_tree_cpu_io_mixed_tg | 723 ms | 549 ms: 1.32x faster |
+| async_tree_cpu_io_mixed | 715 ms | 566 ms: 1.26x faster |
+| pathlib | 21.5 ms | 17.9 ms: 1.20x faster |
+| go | 139 ms | 116 ms: 1.20x faster |
+| deepcopy_reduce | 3.08 us | 2.57 us: 1.20x faster |
+| generators | 32.2 ms | 27.1 ms: 1.19x faster |
+| comprehensions | 19.8 us | 17.0 us: 1.17x faster |
+| raytrace | 299 ms | 260 ms: 1.15x faster |
+| crypto_pyaes | 76.6 ms | 67.5 ms: 1.13x faster |
+| spectral_norm | 110 ms | 97.3 ms: 1.13x faster |
+| pylint | 319 ms | 282 ms: 1.13x faster |
+| sqlalchemy_imperative | 21.8 ms | 19.4 ms: 1.13x faster |
+| regex_effbot | 3.17 ms | 2.81 ms: 1.13x faster |
+| regex_compile | 142 ms | 127 ms: 1.12x faster |
+| sqlalchemy_declarative | 143 ms | 128 ms: 1.12x faster |
+| logging_simple | 6.63 us | 5.95 us: 1.11x faster |
+| tomli_loads | 2.11 sec | 1.90 sec: 1.11x faster |
+| scimark_sor | 130 ms | 117 ms: 1.11x faster |
+| logging_format | 7.35 us | 6.63 us: 1.11x faster |
+| bpe_tokeniser | 4.74 sec | 4.28 sec: 1.11x faster |
+| xml_etree_parse | 139 ms | 127 ms: 1.09x faster |
+| scimark_fft | 342 ms | 313 ms: 1.09x faster |
+| deltablue | 3.45 ms | 3.17 ms: 1.09x faster |
+| sympy_sum | 166 ms | 153 ms: 1.09x faster |
+| richards | 45.9 ms | 42.3 ms: 1.09x faster |
+| float | 80.8 ms | 74.6 ms: 1.08x faster |
+| scimark_monte_carlo | 68.4 ms | 63.4 ms: 1.08x faster |
+| sqlglot_parse | 1.36 ms | 1.26 ms: 1.08x faster |
+| async_generators | 384 ms | 357 ms: 1.08x faster |
+| coroutines | 23.9 ms | 22.2 ms: 1.08x faster |
+| sympy_str | 292 ms | 272 ms: 1.07x faster |
+| thrift | 791 us | 739 us: 1.07x faster |
+| sqlglot_transpile | 1.67 ms | 1.56 ms: 1.07x faster |
+| pyflate | 448 ms | 419 ms: 1.07x faster |
+| xml_etree_iterparse | 96.7 ms | 90.6 ms: 1.07x faster |
+| chaos | 62.8 ms | 58.9 ms: 1.07x faster |
+| richards_super | 51.9 ms | 48.6 ms: 1.07x faster |
+| genshi_text | 22.8 ms | 21.4 ms: 1.07x faster |
+| dulwich_log | 78.9 ms | 74.3 ms: 1.06x faster |
+| pprint_pformat | 1.52 sec | 1.44 sec: 1.06x faster |
+| pprint_safe_repr | 743 ms | 704 ms: 1.06x faster |
+| pycparser | 1.17 sec | 1.11 sec: 1.05x faster |
+| json | 5.02 ms | 4.79 ms: 1.05x faster |
+| hexiom | 6.17 ms | 5.88 ms: 1.05x faster |
+| meteor_contest | 104 ms | 98.9 ms: 1.05x faster |
+| typing_runtime_protocols | 163 us | 157 us: 1.04x faster |
+| unpickle_pure_python | 221 us | 213 us: 1.04x faster |
+| docutils | 2.64 sec | 2.54 sec: 1.04x faster |
+| sympy_integrate | 20.5 ms | 19.8 ms: 1.04x faster |
+| sqlglot_normalize | 107 ms | 103 ms: 1.04x faster |
+| mdp | 2.42 sec | 2.34 sec: 1.03x faster |
+| scimark_sparse_mat_mult | 4.39 ms | 4.26 ms: 1.03x faster |
+| nqueens | 80.1 ms | 77.7 ms: 1.03x faster |
+| 2to3 | 264 ms | 256 ms: 1.03x faster |
+| xml_etree_generate | 85.2 ms | 82.9 ms: 1.03x faster |
+| scimark_lu | 114 ms | 111 ms: 1.03x faster |
+| genshi_xml | 50.2 ms | 48.9 ms: 1.03x faster |
+| logging_silent | 109 ns | 106 ns: 1.03x faster |
+| sympy_expand | 468 ms | 456 ms: 1.02x faster |
+| sqlglot_optimize | 53.3 ms | 52.0 ms: 1.02x faster |
+| fannkuch | 372 ms | 365 ms: 1.02x faster |
+| xml_etree_process | 59.0 ms | 57.9 ms: 1.02x faster |
+| json_loads | 26.5 us | 26.1 us: 1.02x faster |
+| asyncio_websockets | 517 ms | 523 ms: 1.01x slower |
+| nbody | 89.3 ms | 91.1 ms: 1.02x slower |
+| pickle_pure_python | 308 us | 316 us: 1.03x slower |
+| python_startup_no_site | 7.16 ms | 7.48 ms: 1.04x slower |
+| mako | 11.0 ms | 11.5 ms: 1.05x slower |
+| regex_dna | 168 ms | 181 ms: 1.08x slower |
+| json_dumps | 10.4 ms | 11.3 ms: 1.09x slower |
+| bench_thread_pool | 941 us | 1.03 ms: 1.10x slower |
+| coverage | 71.4 ms | 79.2 ms: 1.11x slower |
+| telco | 6.53 ms | 7.25 ms: 1.11x slower |
+| pidigits | 184 ms | 217 ms: 1.18x slower |
+| regex_v8 | 20.6 ms | 25.0 ms: 1.21x slower |
+| gc_traversal | 3.46 ms | 4.37 ms: 1.27x slower |
+| python_startup | 9.93 ms | 14.6 ms: 1.48x slower |
+| create_gc_cycles | 1.09 ms | 1.85 ms: 1.69x slower |
+| bench_mp_pool | 10.8 ms | 88.6 ms: 8.21x slower |
+| Geometric mean | (ref) | 1.06x faster |
+
+Benchmark hidden because not significant (2): django_template, sqlite_synth
+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-20241219-3.14.0a3+-39e69a7/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7.json: connected_components, k_core, many_optionals, shortest_path, sphinx, subparsers
+
+- Geometric mean (including insignificant results): 1.084x faster
+
+# HPT report
+
+- Reliability score: 100.00% likely to be faster
+- 90% likely to have a speedup of 1.05x
+- 95% likely to have a speedup of 1.05x
+- 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-20241219-3.14.0a3+-39e69a7/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.12.6.svg b/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.12.6.svg
new file mode 100644
index 00000000..1187f282
--- /dev/null
+++ b/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.12.6.svg
@@ -0,0 +1,3060 @@
+
+
+
diff --git a/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.13.0rc2.md b/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.13.0rc2.md
new file mode 100644
index 00000000..572fd382
--- /dev/null
+++ b/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.13.0rc2.md
@@ -0,0 +1,200 @@
+# Results vs. 3.13.0rc2
+
+- fork: python
+- ref: 39e69a7cd54d44c9061d
+- machine: linux-x86_64
+- commit hash: 39e69a7
+- commit date: 2024-12-19
+- overall geometric mean: 1.046x faster
+- HPT reliability: 100.00%
+- HPT 99th percentile: 1.01x faster
+- Memory change: 1.10x
+
+Benchmarks with tag 'apps':
+===========================
+
+| Benchmark | bm-20240906-vultr-x86_64-python-v3.13.0rc2-3.13.0rc2-ec61006 | bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------|:------------------------------------------------------------:|:----------------------------------------------------------------------:|
+| 2to3 | 260 ms | 256 ms: 1.02x faster |
+| docutils | 2.62 sec | 2.54 sec: 1.03x 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-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------------------|:------------------------------------------------------------:|:----------------------------------------------------------------------:|
+| async_tree_io_tg | 913 ms | 605 ms: 1.51x faster |
+| async_tree_io | 876 ms | 624 ms: 1.40x faster |
+| async_tree_memoization | 461 ms | 332 ms: 1.39x faster |
+| async_tree_memoization_tg | 414 ms | 307 ms: 1.35x faster |
+| async_tree_none_tg | 336 ms | 254 ms: 1.32x faster |
+| async_tree_none | 354 ms | 275 ms: 1.29x faster |
+| async_tree_cpu_io_mixed | 666 ms | 566 ms: 1.18x faster |
+| async_tree_cpu_io_mixed_tg | 638 ms | 549 ms: 1.16x faster |
+| coroutines | 23.6 ms | 22.2 ms: 1.06x faster |
+| async_generators | 377 ms | 357 ms: 1.06x faster |
+| asyncio_websockets | 520 ms | 523 ms: 1.00x slower |
+| Geometric mean | (ref) | 1.24x faster |
+
+Benchmarks with tag 'math':
+===========================
+
+| Benchmark | bm-20240906-vultr-x86_64-python-v3.13.0rc2-3.13.0rc2-ec61006 | bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------|:------------------------------------------------------------:|:----------------------------------------------------------------------:|
+| float | 77.5 ms | 74.6 ms: 1.04x faster |
+| nbody | 85.1 ms | 91.1 ms: 1.07x 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-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------|:------------------------------------------------------------:|:----------------------------------------------------------------------:|
+| regex_effbot | 3.08 ms | 2.81 ms: 1.10x faster |
+| regex_compile | 132 ms | 127 ms: 1.04x faster |
+| regex_v8 | 22.7 ms | 25.0 ms: 1.10x slower |
+| Geometric mean | (ref) | 1.01x faster |
+
+Benchmark hidden because not significant (1): regex_dna
+
+Benchmarks with tag 'serialize':
+================================
+
+| Benchmark | bm-20240906-vultr-x86_64-python-v3.13.0rc2-3.13.0rc2-ec61006 | bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------------|:------------------------------------------------------------:|:----------------------------------------------------------------------:|
+| xml_etree_parse | 136 ms | 127 ms: 1.07x faster |
+| tomli_loads | 2.01 sec | 1.90 sec: 1.06x faster |
+| xml_etree_iterparse | 94.9 ms | 90.6 ms: 1.05x faster |
+| json_loads | 27.0 us | 26.1 us: 1.03x faster |
+| xml_etree_generate | 85.4 ms | 82.9 ms: 1.03x faster |
+| xml_etree_process | 59.3 ms | 57.9 ms: 1.02x faster |
+| unpickle_pure_python | 210 us | 213 us: 1.01x slower |
+| json_dumps | 10.5 ms | 11.3 ms: 1.07x slower |
+| pickle_pure_python | 294 us | 316 us: 1.07x slower |
+| Geometric mean | (ref) | 1.01x faster |
+
+Benchmarks with tag 'startup':
+==============================
+
+| Benchmark | bm-20240906-vultr-x86_64-python-v3.13.0rc2-3.13.0rc2-ec61006 | bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|------------------------|:------------------------------------------------------------:|:----------------------------------------------------------------------:|
+| python_startup_no_site | 7.39 ms | 7.48 ms: 1.01x slower |
+| python_startup | 11.0 ms | 14.6 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-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|-----------------|:------------------------------------------------------------:|:----------------------------------------------------------------------:|
+| genshi_text | 21.5 ms | 21.4 ms: 1.01x faster |
+| mako | 11.3 ms | 11.5 ms: 1.01x slower |
+| django_template | 34.1 ms | 34.7 ms: 1.02x slower |
+| Geometric mean | (ref) | 1.01x slower |
+
+Benchmark hidden because not significant (1): genshi_xml
+
+All benchmarks:
+===============
+
+| Benchmark | bm-20240906-vultr-x86_64-python-v3.13.0rc2-3.13.0rc2-ec61006 | bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7 |
+|----------------------------|:------------------------------------------------------------:|:----------------------------------------------------------------------:|
+| async_tree_io_tg | 913 ms | 605 ms: 1.51x faster |
+| deepcopy | 355 us | 253 us: 1.40x faster |
+| async_tree_io | 876 ms | 624 ms: 1.40x faster |
+| async_tree_memoization | 461 ms | 332 ms: 1.39x faster |
+| async_tree_memoization_tg | 414 ms | 307 ms: 1.35x faster |
+| async_tree_none_tg | 336 ms | 254 ms: 1.32x faster |
+| deepcopy_memo | 39.1 us | 30.1 us: 1.30x faster |
+| async_tree_none | 354 ms | 275 ms: 1.29x faster |
+| deepcopy_reduce | 3.11 us | 2.57 us: 1.21x faster |
+| go | 141 ms | 116 ms: 1.21x faster |
+| async_tree_cpu_io_mixed | 666 ms | 566 ms: 1.18x faster |
+| async_tree_cpu_io_mixed_tg | 638 ms | 549 ms: 1.16x faster |
+| scimark_sor | 134 ms | 117 ms: 1.15x faster |
+| spectral_norm | 111 ms | 97.3 ms: 1.14x faster |
+| pylint | 317 ms | 282 ms: 1.13x faster |
+| scimark_fft | 349 ms | 313 ms: 1.12x faster |
+| scimark_sparse_mat_mult | 4.71 ms | 4.26 ms: 1.11x faster |
+| regex_effbot | 3.08 ms | 2.81 ms: 1.10x faster |
+| telco | 7.82 ms | 7.25 ms: 1.08x faster |
+| xml_etree_parse | 136 ms | 127 ms: 1.07x faster |
+| pathlib | 19.2 ms | 17.9 ms: 1.07x faster |
+| pyflate | 449 ms | 419 ms: 1.07x faster |
+| richards | 45.2 ms | 42.3 ms: 1.07x faster |
+| generators | 28.8 ms | 27.1 ms: 1.06x faster |
+| richards_super | 51.6 ms | 48.6 ms: 1.06x faster |
+| coroutines | 23.6 ms | 22.2 ms: 1.06x faster |
+| async_generators | 377 ms | 357 ms: 1.06x faster |
+| tomli_loads | 2.01 sec | 1.90 sec: 1.06x faster |
+| thrift | 778 us | 739 us: 1.05x faster |
+| xml_etree_iterparse | 94.9 ms | 90.6 ms: 1.05x faster |
+| pprint_safe_repr | 738 ms | 704 ms: 1.05x faster |
+| coverage | 83.0 ms | 79.2 ms: 1.05x faster |
+| regex_compile | 132 ms | 127 ms: 1.04x faster |
+| pprint_pformat | 1.50 sec | 1.44 sec: 1.04x faster |
+| float | 77.5 ms | 74.6 ms: 1.04x faster |
+| bpe_tokeniser | 4.45 sec | 4.28 sec: 1.04x faster |
+| logging_simple | 6.16 us | 5.95 us: 1.04x faster |
+| json_loads | 27.0 us | 26.1 us: 1.03x faster |
+| logging_format | 6.84 us | 6.63 us: 1.03x faster |
+| xml_etree_generate | 85.4 ms | 82.9 ms: 1.03x faster |
+| scimark_monte_carlo | 65.4 ms | 63.4 ms: 1.03x faster |
+| json | 4.93 ms | 4.79 ms: 1.03x faster |
+| docutils | 2.62 sec | 2.54 sec: 1.03x faster |
+| meteor_contest | 102 ms | 98.9 ms: 1.03x faster |
+| sqlglot_normalize | 106 ms | 103 ms: 1.03x faster |
+| xml_etree_process | 59.3 ms | 57.9 ms: 1.02x faster |
+| hexiom | 5.99 ms | 5.88 ms: 1.02x faster |
+| sympy_sum | 156 ms | 153 ms: 1.02x faster |
+| 2to3 | 260 ms | 256 ms: 1.02x faster |
+| sqlglot_optimize | 52.7 ms | 52.0 ms: 1.01x faster |
+| fannkuch | 370 ms | 365 ms: 1.01x faster |
+| scimark_lu | 113 ms | 111 ms: 1.01x faster |
+| nqueens | 78.6 ms | 77.7 ms: 1.01x faster |
+| sympy_str | 275 ms | 272 ms: 1.01x faster |
+| mdp | 2.36 sec | 2.34 sec: 1.01x faster |
+| dulwich_log | 74.8 ms | 74.3 ms: 1.01x faster |
+| genshi_text | 21.5 ms | 21.4 ms: 1.01x faster |
+| crypto_pyaes | 67.9 ms | 67.5 ms: 1.01x faster |
+| asyncio_websockets | 520 ms | 523 ms: 1.00x slower |
+| sqlglot_parse | 1.25 ms | 1.26 ms: 1.01x slower |
+| python_startup_no_site | 7.39 ms | 7.48 ms: 1.01x slower |
+| unpickle_pure_python | 210 us | 213 us: 1.01x slower |
+| deltablue | 3.12 ms | 3.17 ms: 1.01x slower |
+| mako | 11.3 ms | 11.5 ms: 1.01x slower |
+| django_template | 34.1 ms | 34.7 ms: 1.02x slower |
+| typing_runtime_protocols | 155 us | 157 us: 1.02x slower |
+| chaos | 57.3 ms | 58.9 ms: 1.03x slower |
+| raytrace | 253 ms | 260 ms: 1.03x slower |
+| comprehensions | 16.5 us | 17.0 us: 1.03x slower |
+| logging_silent | 103 ns | 106 ns: 1.04x slower |
+| nbody | 85.1 ms | 91.1 ms: 1.07x slower |
+| json_dumps | 10.5 ms | 11.3 ms: 1.07x slower |
+| pickle_pure_python | 294 us | 316 us: 1.07x slower |
+| regex_v8 | 22.7 ms | 25.0 ms: 1.10x slower |
+| bench_thread_pool | 919 us | 1.03 ms: 1.12x slower |
+| python_startup | 11.0 ms | 14.6 ms: 1.33x slower |
+| create_gc_cycles | 1.34 ms | 1.85 ms: 1.38x slower |
+| gc_traversal | 3.14 ms | 4.37 ms: 1.39x slower |
+| bench_mp_pool | 11.0 ms | 88.6 ms: 8.06x slower |
+| Geometric mean | (ref) | 1.02x faster |
+
+Benchmark hidden because not significant (8): pycparser, sympy_expand, pidigits, sqlite_synth, sympy_integrate, sqlglot_transpile, regex_dna, genshi_xml
+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-20241219-3.14.0a3+-39e69a7/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7.json: connected_components, k_core, many_optionals, shortest_path, sphinx, sqlalchemy_declarative, sqlalchemy_imperative, subparsers
+
+- Geometric mean (including insignificant results): 1.046x faster
+
+# HPT report
+
+- Reliability score: 100.00% likely to be faster
+- 90% likely to have a speedup of 1.02x
+- 95% likely to have a speedup of 1.02x
+- 99% likely to have a speedup of 1.01x
+
+# Memory
+- memory change: 1.10x
\ No newline at end of file
diff --git a/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.13.0rc2.svg b/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.13.0rc2.svg
new file mode 100644
index 00000000..dccf17f1
--- /dev/null
+++ b/results/bm-20241219-3.14.0a3+-39e69a7/bm-20241219-vultr-x86_64-python-39e69a7cd54d44c9061d-3.14.0a3+-39e69a7-vs-3.13.0rc2.svg
@@ -0,0 +1,2977 @@
+
+
+