Ashwin Naren
b870b0e1b5
2024 edition formatting
...
Signed-off-by: Ashwin Naren <arihant2math@gmail.com >
2025-02-26 11:48:22 -08:00
Noa
37dc28a69d
Update deps ( #5417 )
...
* Upgrade nix
* Update deps
* Upgrade pyo3, winreg
* Fix errors from upgrading
2024-09-27 13:11:00 +09:00
Jeong YunWon
24f57dde2f
Align Settings to PyConfig
2024-04-30 23:18:14 +09:00
wellweek
2fde8e91e5
fix some typos ( #5187 )
...
Signed-off-by: wellweek <xiezitai@outlook.com >
2024-03-11 15:01:37 +09:00
Jeong, YunWon
1c93c1630b
Merge pull request #5164 from dchiquito/frozenset-hash
...
Use CPython hash algorithm for frozenset
2024-02-10 14:55:24 +09:00
Daniel Chiquito
bf461cdebc
Use CPython hash algorithm for frozenset
...
The original hash algorithm just XOR'd all the hashes of the elements of
the set, which is problematic. The CPython algorithm is required to pass
the tests.
- Replace `PyFrozenSet::hash` with CPython's algorithm
- Remove unused `hash_iter_unorded` functions
- Add `frozenset` benchmark
- Enable tests
- Lower performance expectations on effectiveness test
- Adjust `slot::hash_wrapper` so that it doesn't rehash the computed
hash value in the process of converting PyInt to PyHash.
2024-02-09 21:02:40 -05:00
Daniel Chiquito
ea1f72e92d
Replace rust-cpython with pyo3 in benches
...
Update the actual benchmark harnesses.
Because the internal APIs previously used are no longer available, I
opted to use `compile` and `exec` from within the CPython context to
compile and execute code. There's probably more overhead to that than
the internal API had, but that overhead should be consistent per
benchmark.
If anyone cares about hyperoptimizing benchmarks then they can optimize
the harness as well.
2024-02-09 16:12:47 -05:00
Jeong YunWon
1208416b92
0.3.0 release
2023-09-06 18:49:55 +09:00
Jim Fasarakis-Hilliard
06c6244599
Fix failures in the cron ci. ( #5002 )
2023-06-11 14:23:17 +03:00
Jeong YunWon
f078f79c90
Flatten rustpython_parser interface
2023-02-22 20:32:31 +09:00
Jeong YunWon
d94f638784
Fix nightly clippy warnings
2022-10-16 02:38:50 +09:00
Jeong YunWon
d45f3da192
Add source_path to ParseError
2022-08-22 08:42:20 +09:00
Noa
33e848e32e
Fix benches
2022-08-18 20:52:11 -05:00
Jeong Yunwon
c99b05b466
increase nbody benches argument
2022-06-04 18:02:36 +09:00
Jeong Yunwon
386057cdf5
Add fannkuch.py
2022-05-29 08:19:47 +09:00
Jeong Yunwon
9b2a9d2377
TypeZoo uses &'static Py<PyType>
2022-05-27 10:35:01 +09:00
Jeong Yunwon
fb52694e41
PyAttributes key is PyStrInterned
2022-05-23 09:03:13 +09:00
Jeong Yunwon
40bc8f0016
move microbenchmark strings.py to proper directory
2022-05-12 04:21:40 +09:00
Jeong Yunwon
3b9721c326
Add microbenchmarks/cmp.py
2022-05-12 04:21:40 +09:00
Jeong Yunwon
6fd5094c05
Remove Interpreter::default() not to trap users init without stdlib
2022-04-30 05:09:33 +09:00
Jeong Yunwon
ab7d921772
PySettings is not a python object
2022-04-23 07:56:20 +09:00
Jeong Yunwon
c4b80b3a24
IntoObject::into_object() and PyValue::into_pyobject(vm)
2022-04-19 00:38:18 +09:00
Jeong Yunwon
6357a1acbe
clean up imports and useless allow attributes
2022-04-15 23:58:20 +09:00
Kangzhi Shi
9a2eef6fab
fix compile
2021-11-27 13:49:05 +02:00
stvsmth
ba6f855a66
Fix typo in benches readme.
...
Correct the file location of the index.html file.
2021-11-02 08:37:37 -06:00
Padraic Fanning
a50b91bb0e
Make benchmark work with act, and fix import
...
This doesn't remedy a certain benchmark's possible memory consumption.
2021-10-24 01:47:12 -04:00
jfh
6ce591d90c
Use as_object in benchmark locals.
2021-10-19 16:50:27 +03:00
Steve Shi
723357962a
Refactor list avoid duplicate the vec ( #3241 )
...
* list count bench
* Refactor list count avoid duplicate the vec
* optimize list count with HEAPTYPE flag
* introduce generic safe iter functions for list
* Refactor list functions (contains, index, remove)
* Refactor list iter functions with const generics
* optimize list with richcompare
* optimize list iter_equal
2021-10-16 13:16:45 +09:00
Jeong YunWon
a42d547a3f
new_{utf8_str, ascii_literal} -> new_str again
2021-10-11 21:28:14 +09:00
Jeong YunWon
741cfea565
vm.ctx.new_int returns PyInt
2021-10-11 01:05:38 +09:00
Jeong YunWon
44f7bc468a
vm::utils::ascii! -> common::ascii!
2021-09-28 15:47:54 +09:00
Jeong YunWon
5fab0771ae
expose ascii! macro as pub
2021-09-26 12:27:03 +09:00
Jeong YunWon
795738d32b
ascii! macro
2021-09-21 18:14:42 +09:00
Jeong YunWon
7395959f5f
Fix PyStr operations to be safe
2021-09-21 00:32:26 +09:00
Jeong YunWon
48dc5c96b6
PyStrKind
2021-09-16 03:35:44 +09:00
Noah
99104faaf7
Re-export pyobject::* from the root of the crate
2021-05-20 10:24:07 -05:00
Noah
db6fa17ffe
Don't recompile CPython microbenchmarks every time
2021-04-05 09:49:16 -05:00
Noah
3c9bcf3a5e
Don't recompile cpython code at each run
2021-03-21 21:23:54 -05:00
Noah
66ae84981b
Fix cpython microbenchmarks failing
2021-03-21 20:43:44 -05:00
Noah
f1f7e8d1fb
Level the playing field for the parse_to_ast benchmarks
2021-03-19 21:47:28 -05:00
Noah
b221dbb5d6
Allow running pystone standalone
2020-12-13 17:22:16 -06:00
Tom Forbes
7818fd2083
Fix micro benchmarks
2020-12-13 20:36:11 +00:00
Tom Forbes
dde8af14f4
Add microbenchmarks
2020-12-13 17:06:21 +00:00
Tom Forbes
bfd05eee24
Switch benchmarkid
2020-12-11 17:51:16 +00:00
Tom Forbes
c447ffd759
Fix loading
2020-12-11 17:25:28 +00:00
Tom Forbes
1e4fc5c70f
fmt
2020-12-11 15:53:14 +00:00
Tom Forbes
a605b93d0f
Improve benchmarks
2020-12-11 15:51:21 +00:00
Tom Forbes
9f04f377cd
Fix strings
2020-12-11 11:40:22 +00:00
Tom Forbes
184f9aa59c
Switch to 500
2020-12-11 00:32:39 +00:00
Tom Forbes
6a841c07f1
Remove pystone second run
2020-12-11 00:31:42 +00:00