tesseract/ccutil
Stefan Weil 46c887b77e genericvector: Fix minimum size
Commit 907de5995f tried to improve
GenericVector, but missed a case where vectors with less than
kDefaultVectorSize were allocated. This resulted in additional
alloc / free operations.

Commit a28b2a033d (before memory optimization)
oem 0: total heap usage: 739,238 allocs, 739,237 frees, 161,699,214 bytes allocated
oem 1: total heap usage: 690,182 allocs, 690,175 frees, 144,470,400 bytes allocated
oem 2: total heap usage: 728,213 allocs, 728,206 frees, 182,885,824 bytes allocated

Commit fd3f8f9b2d without genericvector change
oem 0: total heap usage: 738,980 allocs, 738,979 frees, 161,697,150 bytes allocated
oem 1: total heap usage: 690,182 allocs, 690,175 frees, 144,470,400 bytes allocated
oem 2: total heap usage: 728,213 allocs, 728,206 frees, 182,885,824 bytes allocated
=> Improvements for oem 0, no change for oem 1 and oem 2.

Commit fd3f8f9b2d
oem 0: total heap usage: 772,648 allocs, 772,647 frees, 160,083,901 bytes allocated
oem 1: total heap usage: 748,591 allocs, 748,584 frees, 143,581,672 bytes allocated
oem 2: total heap usage: 764,796 allocs, 764,789 frees, 181,212,197 bytes allocated
=> Less bytes allocated, but more allocs / frees = bad for performance.

Commit fd3f8f9b2d with this patch
oem 0: total heap usage: 677,537 allocs, 677,536 frees, 160,444,634 bytes allocated
oem 1: total heap usage: 653,812 allocs, 653,805 frees, 143,423,008 bytes allocated
oem 2: total heap usage: 670,029 allocs, 670,022 frees, 181,517,760 bytes allocated
=> Improvements for all three cases.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2017-05-03 09:49:23 +02:00
..
ambigs.cpp Fix Cygwin compatibility 2016-06-17 15:52:01 +03:00
ambigs.h Formatting changes from clang_tidy on latest pull 2016-11-30 15:44:25 -08:00
basedir.cpp remove unused code (Windows related) 2013-07-08 18:21:10 +00:00
basedir.h Fixed relative-to-executable tessdata location, while allowing for addition of terminating / 2012-10-09 00:41:08 +00:00
bits16.cpp remove unused code (Windows related) 2013-07-08 18:21:10 +00:00
bits16.h Remove extra semicolons after member function definitions 2016-12-04 14:54:52 +01:00
bitvector.cpp Fixed a lot of compiler/clang warnings 2014-01-25 02:28:51 +00:00
bitvector.h clang-tidy changes from sync 2017-01-25 16:20:19 -08:00
ccutil.cpp Added missing license headers 2016-11-18 15:53:11 -08:00
ccutil.h Added extra Init that takes a memory buffer or a filereader function pointer to enable read of traineddata from memory or foreign file systems. Updated existing readers to use TFile API instead of FILE. This does not yet add big-endian capability to LSTM, but it is very easy from here. 2017-04-27 15:48:23 -07:00
clst.cpp Result of clang tidy on recent merge 2016-11-07 10:46:33 -08:00
clst.h Result of clang tidy on recent merge 2016-11-07 10:46:33 -08:00
doubleptr.h Major refactor of beam search, elimination of dead code, misc bug fixes, updates to Makefile.am, Changelog etc. 2013-09-23 15:26:50 +00:00
elst2.cpp Result of clang tidy on recent merge 2016-11-07 10:46:33 -08:00
elst2.h Result of clang tidy on recent merge 2016-11-07 10:46:33 -08:00
elst.cpp Result of clang tidy on recent merge 2016-11-07 10:46:33 -08:00
elst.h Result of clang tidy on recent merge 2016-11-07 10:46:33 -08:00
errcode.cpp remove unused code (Windows related) 2013-07-08 18:21:10 +00:00
errcode.h Result of clang tidy on recent merge 2016-11-07 10:46:33 -08:00
fileerr.h top-skimming import from sf.net 2007-03-07 20:03:40 +00:00
genericheap.h Fix #define guards in header files 2016-12-04 15:43:03 +01:00
genericvector.h genericvector: Fix minimum size 2017-05-03 09:49:23 +02:00
globaloc.cpp Turned on pdfrenderer functionality that needs leptonica 1.70 2014-01-23 23:01:10 +00:00
globaloc.h Major refactor of beam search, elimination of dead code, misc bug fixes, updates to Makefile.am, Changelog etc. 2013-09-23 15:26:50 +00:00
helpers.h Fixes to training process to allow incremental training from a recognition model 2016-11-30 15:51:17 -08:00
host.h clang-tidy changes from sync 2017-01-25 16:20:19 -08:00
indexmapbidi.cpp Remaining misc changes for 3.02 2012-02-02 03:14:43 +00:00
indexmapbidi.h Remaining misc changes for 3.02 2012-02-02 03:14:43 +00:00
kdpair.h Major refactor of beam search, elimination of dead code, misc bug fixes, updates to Makefile.am, Changelog etc. 2013-09-23 15:26:50 +00:00
lsterr.h clang-tidy changes from sync 2017-01-25 16:20:19 -08:00
mainblk.cpp Added extra Init that takes a memory buffer or a filereader function pointer to enable read of traineddata from memory or foreign file systems. Updated existing readers to use TFile API instead of FILE. This does not yet add big-endian capability to LSTM, but it is very easy from here. 2017-04-27 15:48:23 -07:00
Makefile.am Remove code that is no longer needed 2017-01-16 01:49:17 +02:00
memry.cpp Replace alloc_struct, free_struct 2017-04-30 09:25:04 +02:00
memry.h Replace alloc_struct, free_struct 2017-04-30 09:25:04 +02:00
ndminx.h Harmless improvements from 3.00 going in to 2.04 2008-12-30 18:20:15 +00:00
nwmain.h remove unused code (Windows related) 2013-07-08 18:21:10 +00:00
object_cache.h Major refactor of beam search, elimination of dead code, misc bug fixes, updates to Makefile.am, Changelog etc. 2013-09-23 15:26:50 +00:00
ocrclass.h Fix windows build. 2016-11-24 17:32:23 +03:00
params.cpp Added extra Init that takes a memory buffer or a filereader function pointer to enable read of traineddata from memory or foreign file systems. Updated existing readers to use TFile API instead of FILE. This does not yet add big-endian capability to LSTM, but it is very easy from here. 2017-04-27 15:48:23 -07:00
params.h Added extra Init that takes a memory buffer or a filereader function pointer to enable read of traineddata from memory or foreign file systems. Updated existing readers to use TFile API instead of FILE. This does not yet add big-endian capability to LSTM, but it is very easy from here. 2017-04-27 15:48:23 -07:00
platform.h Fix possible warning when WIN32_LEAN_AND_MEAN is already defined. 2017-01-24 00:22:36 +03:00
qrsequence.h 3.01 code from http://github.com/jimregan/tesseract-ocr with addaptions related to Linux and Windows (VC2008) compile process 2010-11-23 18:34:14 +00:00
scanutils.cpp More formatting fixes from clang tidy 2017-04-28 13:38:32 -07:00
scanutils.h Applied patch to refix issue 331 2014-04-23 23:12:53 +00:00
serialis.cpp Added extra Init that takes a memory buffer or a filereader function pointer to enable read of traineddata from memory or foreign file systems. Updated existing readers to use TFile API instead of FILE. This does not yet add big-endian capability to LSTM, but it is very easy from here. 2017-04-27 15:48:23 -07:00
serialis.h Added extra Init that takes a memory buffer or a filereader function pointer to enable read of traineddata from memory or foreign file systems. Updated existing readers to use TFile API instead of FILE. This does not yet add big-endian capability to LSTM, but it is very easy from here. 2017-04-27 15:48:23 -07:00
sorthelper.h Major refactor of beam search, elimination of dead code, misc bug fixes, updates to Makefile.am, Changelog etc. 2013-09-23 15:26:50 +00:00
stderr.h top-skimming import from sf.net 2007-03-07 20:03:40 +00:00
strngs.cpp Added new LSTM-based neural network line recognizer 2016-11-07 15:38:07 -08:00
strngs.h More clang-tidy from previous commits 2016-12-06 13:45:49 -08:00
tesscallback.h clang-tidy changes from sync 2017-01-25 16:20:19 -08:00
tessdatamanager.cpp Remove unused local variables 2017-05-02 09:43:29 +02:00
tessdatamanager.h Added extra Init that takes a memory buffer or a filereader function pointer to enable read of traineddata from memory or foreign file systems. Updated existing readers to use TFile API instead of FILE. This does not yet add big-endian capability to LSTM, but it is very easy from here. 2017-04-27 15:48:23 -07:00
tprintf.cpp Moved -v to training 2014-01-09 17:25:12 +00:00
tprintf.h Moved -v to training 2014-01-09 17:25:12 +00:00
unichar.cpp Improved newlines and spaces in a box file so it works better with RTL languages. 2015-05-12 17:51:03 -07:00
unichar.h Fix typo 2017-04-15 17:27:56 +02:00
unicharcompress.cpp Remove code that is no longer needed 2017-01-16 01:49:17 +02:00
unicharcompress.h clang-tidy changes from sync 2017-01-25 16:20:19 -08:00
unicharmap.cpp Fixed issue 736 2012-09-21 15:19:44 +00:00
unicharmap.h Replace reserved identifiers used in #define guards header files 2016-12-04 15:43:03 +01:00
unicharset.cpp Added new LSTM-based neural network line recognizer 2016-11-07 15:38:07 -08:00
unicharset.h Fix building of training tools in shared configuration. 2016-12-17 16:19:35 +03:00
unicity_table.h Added extra Init that takes a memory buffer or a filereader function pointer to enable read of traineddata from memory or foreign file systems. Updated existing readers to use TFile API instead of FILE. This does not yet add big-endian capability to LSTM, but it is very easy from here. 2017-04-27 15:48:23 -07:00
unicodes.cpp Remaining misc changes for 3.02 2012-02-02 03:14:43 +00:00
unicodes.h Replace reserved identifiers used in #define guards header files 2016-12-04 15:43:03 +01:00
universalambigs.cpp Misc fixes, mostly clang formatting, but some bug fixes in matrix, werd, and tesstrain_utils. Also updates unicharset to match traineddata files. 2015-07-09 14:28:20 -07:00
universalambigs.h clang-tidy changes from sync 2017-01-25 16:20:19 -08:00