aboutsummaryrefslogtreecommitdiff
path: root/utils/gen_adldata/measurer.h
diff options
context:
space:
mode:
authorVitaly Novichkov <Wohlstand@users.noreply.github.com>2020-08-30 14:00:15 +0200
committerGitHub <noreply@github.com>2020-08-30 14:00:15 +0200
commit82fa5cb3e0859942fc6b353a3138aae8c10520a3 (patch)
tree28e99c08b430742c719f6b9bda236d29b650ffd8 /utils/gen_adldata/measurer.h
parent678be9ff7eb835087a426684a24f0e0172c9178d (diff)
parent6223286c01b83748f5c92cd21612e9eecc3d7525 (diff)
downloadlibADLMIDI-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.h20
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