Cross-platform advanced subtitle editor
Go to file
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
.nuget Enable automatic NuGet package restoration 2012-11-16 15:58:56 -08:00
aegisub Use boost::flyweight to intern the wxString members of AssDialogue 2012-12-05 18:43:44 -08:00
contrib Delete vs2008 build system 2012-11-12 18:35:21 -08:00
docs Modify aegisub_convert_docs.pl to produce a static mirror suitable for serving on a web site 2012-09-03 17:26:49 -07:00
.gitignore Write a msbuild xml file with the current version information 2012-11-24 10:44:44 -08:00
Aegisub.sln Add a solution configuration with all external deps disabled 2012-11-28 06:51:52 -08:00