crueter
7fda6dde73
[common] Switch to boost::unordered_flat containers ( #4326 )
...
Replaces all instances of ankerl's unordered map/set with boost's
`unordered_flat_*` classes. This uses std::hash since boost::hash is
actually a lot slower.
Also adds an abstraction layer in `Common` so future changes are quicker
and easier.
Other implementation details:
- ankerl provided hash specializations for tuple and pair, so those were
ported here
- std::erase_if doesn't work on boost, so just used the ADL'd erase_if
This should be about equal or superior performance as unordered_dense for everything except iteration.
Signed-off-by: crueter <crueter@eden-emu.dev >
- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions ).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md )
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md ) to the best of my ability.
-------------------
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4326
Reviewed-by: Lizzie and Samuel <lizzie@eden-emu.dev >
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
2026-08-31 02:58:09 +02:00
lizzie
41762940d6
[common] rework BitField and BitUtil, use concepts whenever possible ( #4076 )
...
test no regressions especially on Liiinux
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4076
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
2026-07-09 03:47:04 +02:00
lizzie
ad9af25027
[dynarmic] fix pre-SSE4.1 having errors on CMHI/CMLO, fix extra nuisances and add INTERP testcase ( #4025 )
...
does a bit of code dedup
fixes pre-SSE4.1 having horrific CMHI/CMLO
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4025
Reviewed-by: crueter <crueter@eden-emu.dev >
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
2026-06-03 22:53:21 +02:00
lizzie
2f0f8a979c
[dynarmic, macroHLE] Use faster ankerl for xbyak maps ( #3716 )
...
the nominal std::unordered_map<> isn't enough to warrant it's continued usage in xbyak internal structures, thus using ankerl should greatly remove a lot of indirection/stdc++ specific overhead from the usually poorly performant std::unordered_map
Both dynarmic and macroHLE should benefit greatly from a less-stupid unordered_dense
This should speedup both CPU and shader compilation latency (NOT BY A GREAT MARGIN) just enough to make loading zones in ToTK less horrific
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3716
Reviewed-by: crueter <crueter@eden-emu.dev >
2026-05-15 22:07:45 +02:00