diff options
author | 2020-04-13 21:32:00 +0200 | |
---|---|---|
committer | 2020-04-13 21:32:00 +0200 | |
commit | 5b6013caea7999deb8d481fbf67b28969d5e79ff (patch) | |
tree | f7185c986ca46533e8e58db6dbad395552f7b349 /src/lib/netlist/plib/pdynlib.cpp | |
parent | d4093c59dbd80bcac916c08dd49278f0b1052c26 (diff) |
netlist: improve performance up to 65% on audio netlists. [Couriersud]
This commit introduces precompiled static solver code. Due to
additional optimizations the compiler can use because the detail
calculation steps for the solution are known e.g. the kidniki netlist
sees a 100% speed increase.
In all environments (windows/*nix/osx) the source for the static
solver code can be created using
bash src/lib/netlist/nl_create_mame_solvers.sh
This will create src/lib/netlist/generated/static_solvers.cpp which is
compiled into the mame binary.
The script is just a temporary workaround. The intention is that nltool
whill be able to create this file with one call.
There are other improvements in this commit speeding up the processing
of timestep and dynamic calculations.
Diffstat (limited to 'src/lib/netlist/plib/pdynlib.cpp')
-rw-r--r-- | src/lib/netlist/plib/pdynlib.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/lib/netlist/plib/pdynlib.cpp b/src/lib/netlist/plib/pdynlib.cpp index d92e0b471d0..d614c31cf47 100644 --- a/src/lib/netlist/plib/pdynlib.cpp +++ b/src/lib/netlist/plib/pdynlib.cpp @@ -55,7 +55,7 @@ WCHAR *wstring_from_utf8(const char *utf8string) namespace plib { dynlib::dynlib(const pstring &libname) -: m_isLoaded(false), m_lib(nullptr) +: m_lib(nullptr) { #ifdef _WIN32 //fprintf(stderr, "win: loading <%s>\n", libname.c_str()); @@ -65,7 +65,7 @@ dynlib::dynlib(const pstring &libname) else m_lib = GetModuleHandle(nullptr); if (m_lib != nullptr) - m_isLoaded = true; + m_is_loaded = true; //else // fprintf(stderr, "win: library <%s> not found!\n", libname.c_str()); delete [] buffer; @@ -78,14 +78,14 @@ dynlib::dynlib(const pstring &libname) else m_lib = dlopen(nullptr, RTLD_LAZY); if (m_lib != nullptr) - m_isLoaded = true; + m_is_loaded = true; //else // printf("library <%s> not found: %s\n", libname.c_str(), dlerror()); #endif } dynlib::dynlib(const pstring &path, const pstring &libname) -: m_isLoaded(false), m_lib(nullptr) +: m_lib(nullptr) { // FIXME: implement path search plib::unused_var(path); @@ -97,7 +97,7 @@ dynlib::dynlib(const pstring &path, const pstring &libname) else m_lib = GetModuleHandle(nullptr); if (m_lib != nullptr) - m_isLoaded = true; + m_is_loaded = true; else { //printf("win: library <%s> not found!\n", libname.c_str()); @@ -112,7 +112,7 @@ dynlib::dynlib(const pstring &path, const pstring &libname) else m_lib = dlopen(nullptr, RTLD_LAZY); if (m_lib != nullptr) - m_isLoaded = true; + m_is_loaded = true; else { //printf("library <%s> not found!\n", libname.c_str()); |