13
0
livetrax/libs/pbd/pbd
Tim Mayberry e84fbfe6e5 Remove PropertyMap from XMLNode class
It appears that there is no performance benefit from storing properties in a
map for faster lookup or it is counteracted by the penalty of storing and
maintaining the additional data structure.

Timing results before changes with an optimized build:

XMLTest::testPerfMediumXMLDocumentTiming
   Create : Count: 10 Min: 41293 Max: 63746 Total: 564448 Avg: 56444 (56 msecs)
   Write : Count: 10 Min: 42932 Max: 49221 Total: 453955 Avg: 45395 (45 msecs)
   Read : Count: 10 Min: 80160 Max: 84678 Total: 824506 Avg: 82450 (82 msecs)

XMLTest::testPerfLargeXMLDocumentTiming
   Create : Count: 10 Min: 228759 Max: 420236 Total: 3587597 Avg: 358759 (358 msecs)
   Write : Count: 10 Min: 307095 Max: 348767 Total: 3205704 Avg: 320570 (320 msecs)
   Read : Count: 10 Min: 572400 Max: 657219 Total: 5959630 Avg: 595963 (595 msecs)

Perf results after changes:

XMLTest::testPerfMediumXMLDocumentTiming
   Create : Count: 10 Min: 30610 Max: 42656 Total: 376672 Avg: 37667 (37 msecs)
   Write : Count: 10 Min: 42804 Max: 54277 Total: 460455 Avg: 46045 (46 msecs)
   Read : Count: 10 Min: 70364 Max: 85484 Total: 750909 Avg: 75090 (75 msecs)

XMLTest::testPerfLargeXMLDocumentTiming
   Create : Count: 10 Min: 164360 Max: 356995 Total: 3064482 Avg: 306448 (306 msecs)
   Write : Count: 10 Min: 308655 Max: 372953 Total: 3226707 Avg: 322670 (322 msecs)
   Read : Count: 10 Min: 517243 Max: 541839 Total: 5289950 Avg: 528995 (528 msecs)
2016-10-10 08:45:34 +10:00
..
.DS_Store
abstract_ui.cc enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
abstract_ui.h redesign cross-thread registration/signalling system 2015-12-28 10:14:17 -05:00
atomic_counter.h
base_ui.h move BaseUI::_name into EventLoop; rename access method in EventLoop as event_loop_name() to clarify usage 2015-12-12 11:12:10 -05:00
basename.h
boost_debug.h
cartesian.h
command.h some strategic documentation 2016-04-12 17:03:44 +02:00
compose.h
configuration_variable.h
configuration.h
controllable.h a slew of as-yet incomplete work to get VCA solo+mute closer to working 2016-05-31 15:30:40 -04:00
convert.h
cpus.h
crossthread.h
debug_rt_alloc.h
debug.h locale debugging 2016-05-07 12:15:12 +02:00
demangle.h Don't indent inside namespace declaration to be consistent with ardour style 2015-12-01 14:22:38 +10:00
destructible.h
enumwriter.h
epa.h
error.h
event_loop.h fully clean up request buffers when a thread dies 2016-01-14 10:53:32 -05:00
failed_constructor.h
fastlog.h
ffs.h
file_archive.h add API to create [tar.xz] archives 2016-09-19 11:33:07 +02:00
file_utils.h Move PBD::canonical_path to pbd/file_utils.h/cc and reimplement for Windows 2016-09-19 14:47:52 +10:00
floating.h Enable build for FreeBSD (part 1/2) 2016-06-26 16:43:07 +02:00
forkexec.h
fpu.h
functor_command.h
gstdio_compat.h
i18n.h enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
id.h some strategic documentation 2016-04-12 17:03:44 +02:00
libpbd_visibility.h
locale_guard.h redesign PBD::LocaleGuard to work correctly (i.e. not break translations) 2016-07-14 11:37:48 -04:00
localtime_r.h
malign.h
mathfix.h
md5.h
memento_command.h
mountpoint.h
msvc_pbd.h Move 'round()' / 'trunc()' etc so that they won't conflict with any versions already available in MSVC 2016-08-19 14:11:01 +01:00
natsort.h prevent duplicate symbols (fix OSX compilation) 2016-07-14 23:11:11 +02:00
openuri.h allot to open OSX Finder with arbitrary paths 2016-02-17 16:29:25 +01:00
pathexpand.h
pbd.h
pool.h
properties.h OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one) 2016-05-04 23:09:45 -04:00
property_basics_impl.h
property_basics.h
property_list_impl.h
property_list.h
pthread_utils.h redesign cross-thread registration/signalling system 2015-12-28 10:14:17 -05:00
rcu.h
reallocpool.h don't collect rt-mempoll statistics anymore (by default) 2016-04-03 23:54:53 +02:00
receiver.h change PBD::Transmitter code to use PBD::Signal<> not sigc::signal<>, since the latter is not thread safe 2016-08-14 08:33:23 -04:00
replace_all.h
resource.h
ringbuffer.h
ringbufferNPT.h add a single-element ring-buffer write function 2016-07-10 15:56:18 +02:00
scoped_file_descriptor.h
search_path.h
selectable.h
semutils.h rename ProcessSemaphore to Semaphore (libs) 2015-12-02 20:18:48 +01:00
sequence_property.h
shortpath.h
signals.h add the potential for a bit more debugging of signal connects 2016-07-01 17:47:05 -04:00
signals.py add the potential for a bit more debugging of signal connects 2016-07-01 17:47:05 -04:00
stacktrace.h
stateful_diff_command.h
stateful.h add API to query stateful ID override mode 2015-12-17 23:18:22 +01:00
statefuldestructible.h Add a few class documentations to override inherited doc. 2016-03-31 01:16:07 +02:00
stl_delete.h
stl_functors.h
strsplit.h
system_exec.h Enable build for FreeBSD (part 1/2) 2016-06-26 16:43:07 +02:00
textreceiver.h
thrown_error.h
timer.h
timersub.h
timing.h Add PBD::Timing::elapsed_msecs() as convenience API 2016-10-10 08:45:33 +10:00
tlsf.h re-add TLSF 2016-07-19 15:03:51 +02:00
tokenizer.h
touchable.h
transmitter.h change PBD::Transmitter code to use PBD::Signal<> not sigc::signal<>, since the latter is not thread safe 2016-08-14 08:33:23 -04:00
undo.h
unknown_type.h
unwind.h
uuid_boost.h
uuid.h
whitespace.h
windows_mmcss.h
windows_special_dirs.h
windows_timer_utils.h
xml++.h Remove PropertyMap from XMLNode class 2016-10-10 08:45:34 +10:00