Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mattreecebentley/plf_list
A drop-in replacement for std::list with 293% faster insertion, 57% faster erasure, 17% faster iteration and 77% faster sorting on average. 20-24% speed increase in use-case testing.
https://github.com/mattreecebentley/plf_list
container cpp linked-list list speed
Last synced: about 2 months ago
JSON representation
A drop-in replacement for std::list with 293% faster insertion, 57% faster erasure, 17% faster iteration and 77% faster sorting on average. 20-24% speed increase in use-case testing.
- Host: GitHub
- URL: https://github.com/mattreecebentley/plf_list
- Owner: mattreecebentley
- License: zlib
- Created: 2017-08-21T04:26:09.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-09-07T06:16:29.000Z (4 months ago)
- Last Synced: 2024-09-07T07:29:53.258Z (4 months ago)
- Topics: container, cpp, linked-list, list, speed
- Language: C++
- Homepage: https://plflib.org/list.htm
- Size: 494 KB
- Stars: 146
- Watchers: 12
- Forks: 20
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- AwesomeCppGameDev - plf_list - in replacement for std::list with 293% faster insertion, 57% faster erasure, 17% faster iteration and 77% faster sorting on average. 20-24% speed increase in use-case testing. (C++)
- awesome-code-for-gamedev - mattreecebentley/plf_list - A std::list implementation which removes range splicing in order to enable cache-friendlier structure, yielding significant performance gains. [zLib] (Coding / C++ Data Structures and Algorithms)
README
# plf::list
A drop-in replacement for std::list with (on average):* 293% faster insertion
* 57% faster erasure
* 17% faster iteration
* 77% faster sorting
* 70% faster reversal
* 91% faster remove/remove_if
* 63% faster unique
* 811% faster clear (1147900% for trivially-destructible types)
* 1248% faster destruction (6350% for trivially-destructible types)
* 20-24% faster performance overall in ordered use-case benchmarking(insertion, erasure and iteration on the fly and over time)(Benchmarks performed on a haswell-based CPU under GCC 8.1: http://www.plflib.org/benchmarks_haswell_gcc.htm
Insertion, erasure, and iteration percentages obtained as average of performance across 5 types from char to very large struct)Documentation and function descriptions are here: https://plflib.org/list.htm
plf::list is C++98/03/11/14/17/20/23/etc compatible.