Aegisub/aegisub
Thomas Goyne d5aae26d83 Use boost::flyweight to intern the wxString members of AssDialogue
100 no-op non-amend commits on a subtitle file with 6689 dialogue lines,
with the undo limit set to 100:

Without flyweight:
	No video open:
		Initial memory usage: 30.6 MB
		Final memory usage: 498.0 MB
		Elapsed time: 6.3 seconds
	Video open, using libass:
		Initial memory usage: 54.3 MB
		Final memory usage: 653.3 MB
		Elapsed time: 23.7 seconds

With flyweight:
	No video open:
		Initial memory usage: 26.0 MB
		Final memory usage: 104.5 MB
		Elapsed time: 3.0 seconds
	Video open, using libass:
		Initial memory usage: 46.7 MB
		Final memory usage: 251.8 MB
		Elapsed time: 13.0 seconds

No video open:
	Memory usage: -79%
	Time: -52%
Video open:
	Memory usage: -61.5%
	Time: -45%

100 no-op amend commits on a line in the middle of a subtitle file with
6689 dialogue lines, with video open:

Without flyweight:
	Initial memory usage: 48.2 MB
	Final memory usage: 182.3 MB
	Elapsed time: 22.3 seconds

With flyweight:
	Initial memory usage: 39.8 MB
	Final memory usage: 165.8 MB
	Elapsed time: 13.8 seconds

Note: The large jump in memory usage here is due to that the benchmark
is blocking the main thread, so at the end there are ~100 video frames
waiting to be displayed.
2012-12-05 18:43:44 -08:00
..
automation Remove $Id$ markers since git doesn't support them 2012-10-25 17:39:49 -07:00
build Move the project configurations to aegisub.props 2012-12-02 06:33:30 -08:00
desktop Delete aegisub.desktop on distclean rather than clean since it's generate at configure time 2012-10-09 15:29:13 -07:00
docs/doxygen Remove all references to QuickTime, as the QuickTime provider is long gone 2012-02-23 19:28:29 +00:00
libaegisub Remove things used in one (or zero) files from agi_pre.h 2012-12-02 06:33:30 -08:00
m4macros Fix configure check for libc++ 2012-11-24 10:04:53 -08:00
packages Install 64-bit xy-VSFilter 2012-11-20 19:18:18 -08:00
po Update Arabic translation. Update #1532. 2012-11-19 16:49:07 -08:00
reporter Statically link libaegisub 2012-08-21 07:02:45 -07:00
src Use boost::flyweight to intern the wxString members of AssDialogue 2012-12-05 18:43:44 -08:00
tests Fix string vs color logic in the option parsing 2012-11-24 16:24:00 -08:00
tinderbox Factor out a bunch of duplicated code in the configure script for pkg-config based optional dependencies and use the pkg-config name for all WITH_* defines 2011-12-22 21:25:49 +00:00
tools Add error checking to respack 2012-11-12 18:35:22 -08:00
universalchardet Delete vs2008 build system 2012-11-12 18:35:21 -08:00
acinclude.m4 Add boost check to configure 2012-11-10 18:05:56 -08:00
autogen.sh Use printf rather than echo -n in autogen.sh 2012-10-12 14:51:29 -07:00
config.guess Update config.guess and config.sub to a version that isn't close to a decade old 2012-10-02 16:06:05 -07:00
config.sub Update config.guess and config.sub to a version that isn't close to a decade old 2012-10-02 16:06:05 -07:00
configure.ac Fix configure check for libc++ 2012-11-24 10:04:53 -08:00
INSTALL SVN Transition Step 3/7 2009-03-08 08:30:39 +00:00
install-sh Merge r4855-4894 from the new_build_system branch. This still has rough spots and some of the dependency relations haven't been expressed but it works, and it's much better than what we had before as it kills off automake, libtool, gettext (package not library), intltool usage. 2010-12-05 19:12:42 +00:00
LICENCE Update LICENSE 2012-12-02 13:16:10 -08:00
Makefile Delete svn-revision-base.h 2012-10-07 09:03:44 -07:00
Makefile.inc.in Bump required OS X version to 10.7 for libc++ 2012-11-10 18:05:57 -08:00
Makefile.target Add .cc extension to Makefile.target 2012-11-12 18:35:26 -08:00
README SVN Transition Step 3/7 2009-03-08 08:30:39 +00:00

* To be written.