Update README with latest performance test information

This commit is contained in:
Anthony Wang 2023-05-30 14:58:12 -05:00
parent 9f316d8e6e
commit 1db25e6c54
Signed by: a
GPG key ID: 42A5B952E6DD8D38

View file

@ -1,6 +1,6 @@
# SDC
C port of [SD](https://git.exozy.me/a/SD), a very efficient flash cards app
This is a C port of [SD](https://git.exozy.me/a/SD), a very efficient (and a tiny bit overengineered) flash cards app.
## Usage
@ -12,7 +12,7 @@ If you're wondering where the name came from, this is the C port of [SD](https:/
## Performance
SD is designed to be extremely efficient in order to support a very large number of flash cards and should be able to handle millions of cards with ease. If `N` is the number of cards, initializing the program requires `O(N)` time and `O(N)` memory. Selecting a random card and adjusting its weight requires `O(log N)` time. Internally SD uses [segment trees](https://en.wikipedia.org/wiki/Segment_tree) to achieve this time complexity.
SD is designed to be extremely efficient and [supports decks with hundreds of millions of flash cards](test.py). If `N` is the number of cards, initializing the program requires `O(N)` time and `O(N)` memory. Selecting a random card and adjusting its weight requires `O(log N)` time. Internally SD uses [segment trees](https://en.wikipedia.org/wiki/Segment_tree) to achieve this time complexity.
Some benchmark results using 10 card updates:
```