Alex Orlenko
9931709ecd
Remove explicit lifetime from UserDataMethods and UserDataFields traits.
...
Pass `'static` arguments to async functions and require `'static` Future.
(in future we can use async closures to make it more elegant).
2024-08-23 00:10:29 +01:00
Alex Orlenko
4082b354fe
clippy
2024-08-01 00:55:10 +01:00
Alex Orlenko
3641c98959
Prepare for Rust 2024 edition (see rust-lang/rust#123748 )
...
Replace `IntoLua(Multi)` generic with positional arg (impl trait) where possible
This allow to shorten syntax from `a.get::<_, T>` to `a.get::<T>`
2024-07-31 23:42:43 +01:00
Alex Orlenko
b4892c228c
Add rustfmt.toml
2024-07-31 13:42:37 +01:00
Alex Orlenko
7221051683
Refactor:
...
- Remove the rest of `'lua` lifetimes
- Remove Owned types
2024-07-31 13:42:35 +01:00
Alex Orlenko
c23fa5aa6c
Optimize RegistryKey internals
...
- Store single `AtomicI32` field instead of pair i32,AtomicBool
- Make creation faster by skipping intermediate `Value` layer
Add new `RegistryKey::id()` method to return underlying identifier
2024-06-18 16:09:06 +01:00
Alex Orlenko
6e6c73e4c7
Add deserialize json benchmark
2024-03-23 22:31:42 +00:00
Alex Orlenko
a79840afc9
Suppress Rust 1.77 dead_code false warnings.
2024-03-23 11:42:46 +00:00
Alex Orlenko
34db5f985e
Refactor benchmarks
2024-02-11 17:48:25 +00:00
Alex Orlenko
f5021daaea
Fix typo in table_traversal_sequence becnhmark
2023-10-12 11:07:00 +01:00
Alex Orlenko
7d0aa7c01b
Add "table traversal sequence" benchmark
2023-10-12 09:49:36 +01:00
Alex Orlenko
2a3980ef62
Add Table::for_each method for fast (faster than pairs()) table pairs traversal.
2023-10-10 12:52:26 +01:00
Alex Orlenko
37d722d71c
Add table traversal benchmark
2023-10-10 11:00:58 +01:00
Alex Orlenko
6e3af593f6
Add serde benchmark
2023-10-10 00:25:47 +01:00
Alex Orlenko
e858384cd4
Add table get/set benchmark
2023-08-03 10:37:39 +01:00
Alex Orlenko
399e469328
Update "async userdata method" benchmark
2023-06-21 22:23:43 +01:00
Alex Orlenko
72b9209ae9
Rename wrapped_failure/thread cache to pool
2022-12-30 21:48:12 +00:00
Alex Orlenko
fa99f62a99
Fix __index and __newindex wrappers for Luau
2022-03-21 01:08:40 +00:00
Tarik02
d4f8dce597
Fix async userdata __index, __newindex metamethods
2022-03-20 20:03:47 +00:00
Alex Orlenko
50f20e0c2c
Add thread (coroutine) cache to reset and later reuse to execute async functions.
...
It works on Lua 5.4 and LuaJIT (vendored) with `lua_resetthread` function.
2021-11-14 23:19:47 +00:00
Alex Orlenko
41aae83304
Optimize callback creation
...
Attach only one upvalue to callbacks rather than two.
This leads to less lookup to Lua registry.
2021-06-30 16:50:50 +01:00
Alex Orlenko
e26cec5db9
Drop 'feature(link_args)' (removed from nightly). Don't run tests for LuaJIT 2.0.5
2021-04-16 22:27:28 +01:00
Alex Orlenko
726fde7e1f
Optimise async callbacks (polling)
...
call async Rust callback [sum] 3 10
time: [59.338 us 59.729 us 60.097 us]
change: [-10.336% -8.6212% -6.8003%] (p = 0.00 < 0.05)
Performance has improved.
2021-03-03 23:21:56 +00:00
Alex Orlenko
94670e3fdb
rustfmt
2021-02-22 20:13:56 +00:00
Alex Orlenko
6a77b5f003
Update benchmarks:
...
- Refactor
- Add async benchmarks
2021-02-21 18:48:45 +00:00
Alex Orlenko
afc41ab23c
Add serialization example & update others
2020-12-29 21:39:34 +00:00
Alex Orlenko
4a802c1373
Fix benchmarks
2019-11-04 22:23:15 +00:00
Alex Orlenko
b23ee6a162
cargo fmt
2019-09-29 12:56:03 +01:00
kyren
6a5ec6b387
cargo fmt
2018-09-24 22:13:42 -04:00
kyren
2e1bdb64c0
format with up-to-date rustfmt
2018-08-05 09:51:39 -04:00
kyren
ee23f199f0
Remove stack_guard function and instead just use StackGuard directly
2018-03-12 13:13:44 -04:00
kyren
7b2f7a2932
Add a simple userdata benchmark
2018-03-12 12:48:20 -04:00
kyren
84ee394b1d
Additional benchmarks
2018-03-11 17:50:17 -04:00
kyren
a5377b959f
Add some more benchmarks
2018-03-11 14:26:26 -04:00
kyren
964666e11b
Use criterion for benchmarking, add some simple benchmarks
2018-03-10 10:31:57 -05:00