Buffer size can be defined
authornvalimak <nvalimak@3cdefd35-fc62-479d-8e8d-bae585ffb9ca>
Tue, 19 May 2009 13:14:45 +0000 (13:14 +0000)
committernvalimak <nvalimak@3cdefd35-fc62-479d-8e8d-bae585ffb9ca>
Tue, 19 May 2009 13:14:45 +0000 (13:14 +0000)
git-svn-id: svn+ssh://idea.nguyen.vg/svn/sxsi/trunk/TextCollection@404 3cdefd35-fc62-479d-8e8d-bae585ffb9ca

TextCollectionBuilder.cpp
TextCollectionBuilder.h

index ff10f7b..1d49f39 100644 (file)
@@ -33,9 +33,8 @@ struct TCBuilderRep
 /**
  * Init text collection
  *
- * See CSA.h for more details.
  */
-TextCollectionBuilder::TextCollectionBuilder(unsigned samplerate)
+TextCollectionBuilder::TextCollectionBuilder(unsigned samplerate, ulong estimatedInputLength)
     : p_(new struct TCBuilderRep())
 {
     p_->n = 0;
@@ -43,8 +42,8 @@ TextCollectionBuilder::TextCollectionBuilder(unsigned samplerate)
     p_->numberOfTexts = 0;
     p_->numberOfSamples = 0;
     
-    // Current params: 8 bytes, 15 MB, no samples
-    p_->sa = new CSA::RLCSABuilder(8, 0, 15 * 1024 * 1024);
+    // Current params: 8 bytes, no samples, buffer size n/10 bytes.
+    p_->sa = new CSA::RLCSABuilder(8, 0, estimatedInputLength/10);
     assert(p_->sa->isOk());
 
 #ifdef TCB_TEST_BWT
index 13734d2..9bac6f9 100644 (file)
@@ -33,6 +33,8 @@
 // Default samplerate for suffix array samples
 #define TEXTCOLLECTION_DEFAULT_SAMPLERATE 64
 
+// Default input length, used to calculate the buffer size.
+#define TEXTCOLLECTION_DEFAULT_INPUT_LENGTH (150 * 1024 * 1024)
 
 
 namespace SXSI
@@ -45,7 +47,8 @@ namespace SXSI
     class TextCollectionBuilder
     {
     public:
-        explicit TextCollectionBuilder(unsigned samplerate = TEXTCOLLECTION_DEFAULT_SAMPLERATE);
+        explicit TextCollectionBuilder(unsigned samplerate = TEXTCOLLECTION_DEFAULT_SAMPLERATE, 
+                                       ulong estimatedInputLength =  TEXTCOLLECTION_DEFAULT_INPUT_LENGTH);
         ~TextCollectionBuilder();
         
         /**