diff options
author | Vitaly Novichkov <Wohlstand@users.noreply.github.com> | 2020-08-30 14:00:15 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-30 14:00:15 +0200 |
commit | 82fa5cb3e0859942fc6b353a3138aae8c10520a3 (patch) | |
tree | 28e99c08b430742c719f6b9bda236d29b650ffd8 /utils/gen_adldata/measurer.h | |
parent | 678be9ff7eb835087a426684a24f0e0172c9178d (diff) | |
parent | 6223286c01b83748f5c92cd21612e9eecc3d7525 (diff) | |
download | libADLMIDI-82fa5cb3e0859942fc6b353a3138aae8c10520a3.tar.gz libADLMIDI-82fa5cb3e0859942fc6b353a3138aae8c10520a3.tar.bz2 libADLMIDI-82fa5cb3e0859942fc6b353a3138aae8c10520a3.zip |
Merge pull request #232 from Wohlstand/wip-new-embedded-banks
Brand new embedded banks database format
Diffstat (limited to 'utils/gen_adldata/measurer.h')
-rw-r--r-- | utils/gen_adldata/measurer.h | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/utils/gen_adldata/measurer.h b/utils/gen_adldata/measurer.h index 63475ca..e521451 100644 --- a/utils/gen_adldata/measurer.h +++ b/utils/gen_adldata/measurer.h @@ -6,6 +6,7 @@ #include <mutex> #include <condition_variable> #include <thread> +#include <array> #include "progs_cache.h" @@ -54,17 +55,14 @@ private: struct MeasureThreaded { - typedef std::map<ins, DurationInfo> DurationInfoCache; + typedef std::array<int_fast32_t, 10> OperatorsKey; + typedef std::map<OperatorsKey, DurationInfo> DurationInfoCacheX; - MeasureThreaded() : - m_semaphore(int(std::thread::hardware_concurrency()) * 2), - m_done(0), - m_cache_matches(0) - {} + MeasureThreaded(); Semaphore m_semaphore; std::mutex m_durationInfo_mx; - DurationInfoCache m_durationInfo; + DurationInfoCacheX m_durationInfo; std::atomic_bool m_delete_tail; size_t m_total = 0; std::atomic<size_t> m_done; @@ -84,7 +82,8 @@ struct MeasureThreaded m_work.join(); } MeasureThreaded *myself; - std::map<ins, std::pair<size_t, std::set<std::string> > >::const_iterator i; + BanksDump *bd; + BanksDump::InstrumentEntry *bd_ins; std::thread m_work; std::atomic_bool m_works; @@ -96,11 +95,12 @@ struct MeasureThreaded void printProgress(); void printFinal(); - void run(InstrumentsData::const_iterator i); + + void run(BanksDump &bd, BanksDump::InstrumentEntry &e); void waitAll(); }; class OPLChipBase; -extern DurationInfo MeasureDurations(const ins &in, OPLChipBase *chip); +extern DurationInfo MeasureDurations(const BanksDump &db, const BanksDump::InstrumentEntry &ins, OPLChipBase *chip); #endif // MEASURER_H |