mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-29 04:10:23 -07:00
[Card Database] Improve loading times through binary cache (#7051)
* [Card Database] Improve loading times through binary cache Took 10 minutes Took 9 minutes Took 16 seconds * [Card Database] Remove lib qt include Took 18 minutes Took 14 seconds * Downgrade to 6.3 datastream Took 5 minutes * go up to 6.4 datastream Took 1 minute * Address comments * Small bug fixes Took 20 minutes Took 10 seconds * More fixes. Took 4 minutes Took 4 seconds * Even more fixes. Took 11 minutes Took 4 seconds * More fixes. Took 6 minutes Took 26 seconds Took 8 minutes * Namespace instead of class Took 6 minutes --------- Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
This commit is contained in:
parent
4bb8831531
commit
749223c2dc
31 changed files with 1604 additions and 106 deletions
|
|
@ -0,0 +1,24 @@
|
|||
#ifndef CARDDATABASE_DATA_H
|
||||
#define CARDDATABASE_DATA_H
|
||||
|
||||
#include <libcockatrice/card/card_info.h>
|
||||
|
||||
/**
|
||||
* @struct CardDatabaseData
|
||||
* @ingroup CardDatabase
|
||||
* @brief Value type holding the full parsed state of a card database.
|
||||
*
|
||||
* Parsers fill a CardDatabaseData off the UI thread; the finished snapshot is
|
||||
* then swapped into the live CardDatabase atomically. Keeping this separate from
|
||||
* the live container avoids emitting per-card change notifications and prevents
|
||||
* readers from observing a half-loaded database.
|
||||
*/
|
||||
struct CardDatabaseData
|
||||
{
|
||||
CardNameMap cards;
|
||||
CardNameMap simpleNameCards;
|
||||
SetNameMap sets;
|
||||
FormatRulesNameMap formats;
|
||||
};
|
||||
|
||||
#endif // CARDDATABASE_DATA_H
|
||||
Loading…
Add table
Add a link
Reference in a new issue