1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 01:57:44 +00:00
serenity/Userland
kleines Filmröllchen c2340a1b1f LibDSP: Optimize note processing
Previously, a collection of notes (Vector or Array) would be created and
promptly deleted for every sample (at least 44 thousand times per
second!). This was measured to be one of the most significant
performance drawbacks as well as the most obvious performance
improvement I could currently find here. Although it will not cause
Piano to lag currently (at least on virtualized systems), I see an
incoming issue once we get the capability to use more processors.

Now, we use a HashMap correlating pitches to notes, and Track reuses the
data structure in order to avoid reallocations. That is the reason for
introducing the fast clear_with_capacity to HashMap.
2021-11-11 09:19:17 +01:00
..
Applets LibGfx: Use ErrorOr<T> for Bitmap::try_load_from_file() 2021-11-08 00:35:27 +01:00
Applications Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
Demos LibGfx: Use ErrorOr<T> for Bitmap::try_create() 2021-11-08 00:35:27 +01:00
DevTools Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
DynamicLoader Toolchain+Meta: Update LLVM version to 13.0.0 2021-10-17 17:09:58 +01:00
Games Solitaire: Fix 3 card draw from reversing after an undo 2021-11-10 20:15:09 -08:00
Libraries LibDSP: Optimize note processing 2021-11-11 09:19:17 +01:00
Services Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
Shell Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
Utilities Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
CMakeLists.txt Tests: Establish root Tests directory, move Userland/Tests there 2021-05-06 17:54:28 +02:00