From 6949491bde16aac212c1f0279b52ebb8a80c15c4 Mon Sep 17 00:00:00 2001 From: github-action-benchmark Date: Mon, 25 Mar 2024 20:17:35 +0000 Subject: [PATCH] add pyo3-bench (cargo) benchmark result for 9a38e709bb43bdd8e43aa7c2fce603ed30ed469f --- dev/bench/data.js | 410 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 409 insertions(+), 1 deletion(-) diff --git a/dev/bench/data.js b/dev/bench/data.js index 08caf65bf6e..0d54271587f 100644 --- a/dev/bench/data.js +++ b/dev/bench/data.js @@ -1,5 +1,5 @@ window.BENCHMARK_DATA = { - "lastUpdate": 1711388681999, + "lastUpdate": 1711397854464, "repoUrl": "https://github.com/PyO3/pyo3", "entries": { "pyo3-bench": [ @@ -287708,6 +287708,414 @@ window.BENCHMARK_DATA = { "unit": "ns/iter" } ] + }, + { + "commit": { + "author": { + "email": "timfelgentreff@gmail.com", + "name": "Tim Felgentreff", + "username": "timfel" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "9a38e709bb43bdd8e43aa7c2fce603ed30ed469f", + "message": "Basic GraalPy Support (#3247)\n\n* graalpy: recognize graalpy implementation when building\n\n* graalpy: global Ellipse, None, NotImplemented, True, and False are only available as pointers\n\n* graalpy: PyObject struct is opaque, use functions for everything\n\n* graalpy: missing many of the same functions as pypy\n\n* graalpy: do not have 128bit conversion functions\n\n* graalpy: add functions for datetime accessor macros\n\n* graalpy: add implementations for list macro functions\n\n* graalpy: skip tuple macros\n\n* graalpy: always use extern Py_CompileString function\n\n* graalpy: disable assertion that does not apply to graalpy\n\n* graalpy: floatobject structure is opaque on graalpy\n\n* graalpy: ignore gc dependent test\n\n* graalpy: add CI config\n\n* graalpy: run rust fmt\n\n* graalpy: add changelog entry\n\n* graalpy: discover interpreter on PATH\n\n* graalpy: interpreter id is not applicable to graalpy (just like pypy)\n\n* graalpy: skip tests that cannot work on GraalPy\n\n* graalpy: fix constructing normalized Err instances\n\nCo-authored-by: David Hewitt \n\n* graalpy: correct capi library name, but skip rust tests due to missing symbols\n\n* graalpy: no support for C extensions on windows in latest release\n\n* graalpy: declare support versions\n\n* graalpy: frame, code, method, and function objects access from C API is mostly missing\n\n* graalpy: take care only to expose C structure that GraalPy allocates\n\n* graalpy: Bail out if graalpy version is less than what we support\n\n---------\n\nCo-authored-by: David Hewitt ", + "timestamp": "2024-03-25T18:54:52Z", + "tree_id": "1b058372ffc13eeae5252f5bfab20b7a32f1f20e", + "url": "https://github.com/PyO3/pyo3/commit/9a38e709bb43bdd8e43aa7c2fce603ed30ed469f" + }, + "date": 1711397835144, + "tool": "cargo", + "benches": [ + { + "name": "identify_object_type", + "value": 479, + "range": "± 7", + "unit": "ns/iter" + }, + { + "name": "collect_generic_iterator", + "value": 9746547, + "range": "± 425565", + "unit": "ns/iter" + }, + { + "name": "extract_bigint_extract_fail", + "value": 254, + "range": "± 6", + "unit": "ns/iter" + }, + { + "name": "extract_bigint_small", + "value": 57, + "range": "± 2", + "unit": "ns/iter" + }, + { + "name": "extract_bigint_big_negative", + "value": 176, + "range": "± 5", + "unit": "ns/iter" + }, + { + "name": "extract_bigint_big_positive", + "value": 161, + "range": "± 10", + "unit": "ns/iter" + }, + { + "name": "extract_bigint_huge_negative", + "value": 1284, + "range": "± 18", + "unit": "ns/iter" + }, + { + "name": "extract_bigint_huge_positive", + "value": 1066, + "range": "± 34", + "unit": "ns/iter" + }, + { + "name": "call_0", + "value": 30989, + "range": "± 518", + "unit": "ns/iter" + }, + { + "name": "call_method_0", + "value": 104462, + "range": "± 730", + "unit": "ns/iter" + }, + { + "name": "ordered_dunder_methods", + "value": 43, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "ordered_richcmp", + "value": 42, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "decimal_via_extract", + "value": 362, + "range": "± 2", + "unit": "ns/iter" + }, + { + "name": "iter_dict", + "value": 1151015, + "range": "± 26483", + "unit": "ns/iter" + }, + { + "name": "dict_new", + "value": 3030009, + "range": "± 187114", + "unit": "ns/iter" + }, + { + "name": "dict_get_item", + "value": 2206295, + "range": "± 10966", + "unit": "ns/iter" + }, + { + "name": "extract_hashmap", + "value": 4919964, + "range": "± 19644", + "unit": "ns/iter" + }, + { + "name": "extract_btreemap", + "value": 7725705, + "range": "± 14701", + "unit": "ns/iter" + }, + { + "name": "mapping_from_dict", + "value": 0, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "err_new_restore_and_fetch", + "value": 149, + "range": "± 3", + "unit": "ns/iter" + }, + { + "name": "err_new_without_gil", + "value": 14, + "range": "± 3", + "unit": "ns/iter" + }, + { + "name": "extract_str_extract_success", + "value": 10, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "extract_str_extract_fail", + "value": 21, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "extract_str_downcast_success", + "value": 10, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "extract_str_downcast_fail", + "value": 1, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "extract_int_extract_success", + "value": 4, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "extract_int_extract_fail", + "value": 258, + "range": "± 1", + "unit": "ns/iter" + }, + { + "name": "extract_int_downcast_success", + "value": 4, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "extract_int_downcast_fail", + "value": 1, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "extract_float_extract_success", + "value": 2, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "extract_float_extract_fail", + "value": 241, + "range": "± 13", + "unit": "ns/iter" + }, + { + "name": "extract_float_downcast_success", + "value": 1, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "extract_float_downcast_fail", + "value": 3, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "enum_from_pyobject", + "value": 869, + "range": "± 46", + "unit": "ns/iter" + }, + { + "name": "list_via_downcast", + "value": 0, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "list_via_extract", + "value": 6, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "not_a_list_via_downcast", + "value": 1, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "not_a_list_via_extract", + "value": 30, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "not_a_list_via_extract_enum", + "value": 478, + "range": "± 1", + "unit": "ns/iter" + }, + { + "name": "clean_acquire_gil", + "value": 64, + "range": "± 3", + "unit": "ns/iter" + }, + { + "name": "dirty_acquire_gil", + "value": 64, + "range": "± 1", + "unit": "ns/iter" + }, + { + "name": "getattr_direct", + "value": 95, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "getattr_intern", + "value": 26, + "range": "± 1", + "unit": "ns/iter" + }, + { + "name": "iter_list", + "value": 727806, + "range": "± 16520", + "unit": "ns/iter" + }, + { + "name": "list_new", + "value": 954019, + "range": "± 202855", + "unit": "ns/iter" + }, + { + "name": "list_get_item", + "value": 652552, + "range": "± 26252", + "unit": "ns/iter" + }, + { + "name": "list_get_item_unchecked", + "value": 466976, + "range": "± 28017", + "unit": "ns/iter" + }, + { + "name": "sequence_from_list", + "value": 0, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "first_time_init", + "value": 3239, + "range": "± 224", + "unit": "ns/iter" + }, + { + "name": "drop_many_objects", + "value": 4022, + "range": "± 457", + "unit": "ns/iter" + }, + { + "name": "set_new", + "value": 2991159, + "range": "± 184608", + "unit": "ns/iter" + }, + { + "name": "iter_set", + "value": 1229978, + "range": "± 17327", + "unit": "ns/iter" + }, + { + "name": "extract_hashset", + "value": 5621793, + "range": "± 44841", + "unit": "ns/iter" + }, + { + "name": "extract_btreeset", + "value": 1924102, + "range": "± 14179", + "unit": "ns/iter" + }, + { + "name": "iter_tuple", + "value": 652479, + "range": "± 19002", + "unit": "ns/iter" + }, + { + "name": "tuple_new", + "value": 1022121, + "range": "± 198665", + "unit": "ns/iter" + }, + { + "name": "tuple_get_item", + "value": 576146, + "range": "± 13239", + "unit": "ns/iter" + }, + { + "name": "tuple_get_item_unchecked", + "value": 466791, + "range": "± 23146", + "unit": "ns/iter" + }, + { + "name": "tuple_get_borrowed_item", + "value": 582675, + "range": "± 29691", + "unit": "ns/iter" + }, + { + "name": "tuple_get_borrowed_item_unchecked", + "value": 420461, + "range": "± 23053", + "unit": "ns/iter" + }, + { + "name": "sequence_from_tuple", + "value": 0, + "range": "± 0", + "unit": "ns/iter" + }, + { + "name": "tuple_new_list", + "value": 268764, + "range": "± 44800", + "unit": "ns/iter" + }, + { + "name": "tuple_to_list", + "value": 184123, + "range": "± 41271", + "unit": "ns/iter" + }, + { + "name": "tuple_into_py", + "value": 92, + "range": "± 1", + "unit": "ns/iter" + } + ] } ], "pytest-bench": [