mirror of
				https://github.com/meilisearch/meilisearch.git
				synced 2025-10-31 07:56:28 +00:00 
			
		
		
		
	Remove puffin usage
This commit is contained in:
		| @@ -21,8 +21,6 @@ impl<'t, 'i> ClearDocuments<'t, 'i> { | ||||
|         name = "clear_documents" | ||||
|     )] | ||||
|     pub fn execute(self) -> Result<u64> { | ||||
|         puffin::profile_function!(); | ||||
|  | ||||
|         self.index.set_updated_at(self.wtxn, &OffsetDateTime::now_utc())?; | ||||
|         let Index { | ||||
|             env: _env, | ||||
|   | ||||
| @@ -29,8 +29,6 @@ pub fn enrich_documents_batch<R: Read + Seek>( | ||||
|     autogenerate_docids: bool, | ||||
|     reader: DocumentsBatchReader<R>, | ||||
| ) -> Result<StdResult<EnrichedDocumentsBatchReader<R>, UserError>> { | ||||
|     puffin::profile_function!(); | ||||
|  | ||||
|     let (mut cursor, mut documents_batch_index) = reader.into_cursor_and_fields_index(); | ||||
|  | ||||
|     let mut external_ids = tempfile::tempfile().map(BufWriter::new).map(grenad::Writer::new)?; | ||||
|   | ||||
| @@ -29,8 +29,6 @@ pub fn extract_docid_word_positions<R: io::Read + io::Seek>( | ||||
|     settings_diff: &InnerIndexSettingsDiff, | ||||
|     max_positions_per_attributes: Option<u32>, | ||||
| ) -> Result<(grenad::Reader<BufReader<File>>, ScriptLanguageDocidsMap)> { | ||||
|     puffin::profile_function!(); | ||||
|  | ||||
|     let max_positions_per_attributes = max_positions_per_attributes | ||||
|         .map_or(MAX_POSITION_PER_ATTRIBUTE, |max| max.min(MAX_POSITION_PER_ATTRIBUTE)); | ||||
|     let max_memory = indexer.max_memory_by_thread(); | ||||
|   | ||||
| @@ -23,8 +23,6 @@ pub fn extract_facet_number_docids<R: io::Read + io::Seek>( | ||||
|     indexer: GrenadParameters, | ||||
|     _settings_diff: &InnerIndexSettingsDiff, | ||||
| ) -> Result<grenad::Reader<BufReader<File>>> { | ||||
|     puffin::profile_function!(); | ||||
|  | ||||
|     let max_memory = indexer.max_memory_by_thread(); | ||||
|  | ||||
|     let mut facet_number_docids_sorter = create_sorter( | ||||
|   | ||||
| @@ -28,8 +28,6 @@ pub fn extract_facet_string_docids<R: io::Read + io::Seek>( | ||||
|     indexer: GrenadParameters, | ||||
|     _settings_diff: &InnerIndexSettingsDiff, | ||||
| ) -> Result<(grenad::Reader<BufReader<File>>, grenad::Reader<BufReader<File>>)> { | ||||
|     puffin::profile_function!(); | ||||
|  | ||||
|     let max_memory = indexer.max_memory_by_thread(); | ||||
|     let options = NormalizerOption { lossy: true, ..Default::default() }; | ||||
|  | ||||
|   | ||||
| @@ -47,8 +47,6 @@ pub fn extract_fid_docid_facet_values<R: io::Read + io::Seek>( | ||||
|     settings_diff: &InnerIndexSettingsDiff, | ||||
|     geo_fields_ids: Option<(FieldId, FieldId)>, | ||||
| ) -> Result<ExtractedFacetValues> { | ||||
|     puffin::profile_function!(); | ||||
|  | ||||
|     let max_memory = indexer.max_memory_by_thread(); | ||||
|  | ||||
|     let mut fid_docid_facet_numbers_sorter = create_sorter( | ||||
|   | ||||
| @@ -26,8 +26,6 @@ pub fn extract_fid_word_count_docids<R: io::Read + io::Seek>( | ||||
|     indexer: GrenadParameters, | ||||
|     _settings_diff: &InnerIndexSettingsDiff, | ||||
| ) -> Result<grenad::Reader<BufReader<File>>> { | ||||
|     puffin::profile_function!(); | ||||
|  | ||||
|     let max_memory = indexer.max_memory_by_thread(); | ||||
|  | ||||
|     let mut fid_word_count_docids_sorter = create_sorter( | ||||
|   | ||||
| @@ -20,8 +20,6 @@ pub fn extract_geo_points<R: io::Read + io::Seek>( | ||||
|     primary_key_id: FieldId, | ||||
|     (lat_fid, lng_fid): (FieldId, FieldId), | ||||
| ) -> Result<grenad::Reader<BufReader<File>>> { | ||||
|     puffin::profile_function!(); | ||||
|  | ||||
|     let mut writer = create_writer( | ||||
|         indexer.chunk_compression_type, | ||||
|         indexer.chunk_compression_level, | ||||
|   | ||||
| @@ -91,8 +91,6 @@ pub fn extract_vector_points<R: io::Read + io::Seek>( | ||||
|     indexer: GrenadParameters, | ||||
|     settings_diff: &InnerIndexSettingsDiff, | ||||
| ) -> Result<Vec<ExtractedVectorPoints>> { | ||||
|     puffin::profile_function!(); | ||||
|  | ||||
|     let reindex_vectors = settings_diff.reindex_vectors(); | ||||
|  | ||||
|     let old_fields_ids_map = &settings_diff.old.fields_ids_map; | ||||
| @@ -295,7 +293,6 @@ fn push_vectors_diff( | ||||
|     delta: VectorStateDelta, | ||||
|     reindex_vectors: bool, | ||||
| ) -> Result<()> { | ||||
|     puffin::profile_function!(); | ||||
|     let (must_remove, prompt, (mut del_vectors, mut add_vectors)) = delta.into_values(); | ||||
|     if must_remove | ||||
|     // TODO: the below condition works because we erase the vec database when a embedding setting changes. | ||||
| @@ -367,7 +364,6 @@ pub fn extract_embeddings<R: io::Read + io::Seek>( | ||||
|     embedder: Arc<Embedder>, | ||||
|     request_threads: &ThreadPoolNoAbort, | ||||
| ) -> Result<grenad::Reader<BufReader<File>>> { | ||||
|     puffin::profile_function!(); | ||||
|     let n_chunks = embedder.chunk_count_hint(); // chunk level parallelism | ||||
|     let n_vectors_per_chunk = embedder.prompt_count_in_chunk_hint(); // number of vectors in a single chunk | ||||
|  | ||||
|   | ||||
| @@ -36,8 +36,6 @@ pub fn extract_word_docids<R: io::Read + io::Seek>( | ||||
|     grenad::Reader<BufReader<File>>, | ||||
|     grenad::Reader<BufReader<File>>, | ||||
| )> { | ||||
|     puffin::profile_function!(); | ||||
|  | ||||
|     let max_memory = indexer.max_memory_by_thread(); | ||||
|  | ||||
|     let mut word_fid_docids_sorter = create_sorter( | ||||
| @@ -167,8 +165,6 @@ fn words_into_sorter( | ||||
|     add_words: &BTreeSet<Vec<u8>>, | ||||
|     word_fid_docids_sorter: &mut grenad::Sorter<MergeFn>, | ||||
| ) -> Result<()> { | ||||
|     puffin::profile_function!(); | ||||
|  | ||||
|     use itertools::merge_join_by; | ||||
|     use itertools::EitherOrBoth::{Both, Left, Right}; | ||||
|  | ||||
|   | ||||
| @@ -26,7 +26,6 @@ pub fn extract_word_pair_proximity_docids<R: io::Read + io::Seek>( | ||||
|     indexer: GrenadParameters, | ||||
|     settings_diff: &InnerIndexSettingsDiff, | ||||
| ) -> Result<grenad::Reader<BufReader<File>>> { | ||||
|     puffin::profile_function!(); | ||||
|     let any_deletion = settings_diff.old.proximity_precision == ProximityPrecision::ByWord; | ||||
|     let any_addition = settings_diff.new.proximity_precision == ProximityPrecision::ByWord; | ||||
|  | ||||
| @@ -71,8 +70,6 @@ pub fn extract_word_pair_proximity_docids<R: io::Read + io::Seek>( | ||||
|  | ||||
|         // if we change document, we fill the sorter | ||||
|         if current_document_id.map_or(false, |id| id != document_id) { | ||||
|             puffin::profile_scope!("Document into sorter"); | ||||
|  | ||||
|             // FIXME: span inside of a hot loop might degrade performance and create big reports | ||||
|             let span = tracing::trace_span!(target: "indexing::details", "document_into_sorter"); | ||||
|             let _entered = span.enter(); | ||||
| @@ -163,7 +160,6 @@ pub fn extract_word_pair_proximity_docids<R: io::Read + io::Seek>( | ||||
|     } | ||||
|  | ||||
|     if let Some(document_id) = current_document_id { | ||||
|         puffin::profile_scope!("Final document into sorter"); | ||||
|         // FIXME: span inside of a hot loop might degrade performance and create big reports | ||||
|         let span = tracing::trace_span!(target: "indexing::details", "final_document_into_sorter"); | ||||
|         let _entered = span.enter(); | ||||
| @@ -176,7 +172,6 @@ pub fn extract_word_pair_proximity_docids<R: io::Read + io::Seek>( | ||||
|         )?; | ||||
|     } | ||||
|     { | ||||
|         puffin::profile_scope!("sorter_into_reader"); | ||||
|         // FIXME: span inside of a hot loop might degrade performance and create big reports | ||||
|         let span = tracing::trace_span!(target: "indexing::details", "sorter_into_reader"); | ||||
|         let _entered = span.enter(); | ||||
|   | ||||
| @@ -25,8 +25,6 @@ pub fn extract_word_position_docids<R: io::Read + io::Seek>( | ||||
|     indexer: GrenadParameters, | ||||
|     _settings_diff: &InnerIndexSettingsDiff, | ||||
| ) -> Result<grenad::Reader<BufReader<File>>> { | ||||
|     puffin::profile_function!(); | ||||
|  | ||||
|     let max_memory = indexer.max_memory_by_thread(); | ||||
|  | ||||
|     let mut word_position_docids_sorter = create_sorter( | ||||
| @@ -104,8 +102,6 @@ fn words_position_into_sorter( | ||||
|     add_word_positions: &BTreeSet<(u16, Vec<u8>)>, | ||||
|     word_position_docids_sorter: &mut grenad::Sorter<MergeFn>, | ||||
| ) -> Result<()> { | ||||
|     puffin::profile_function!(); | ||||
|  | ||||
|     use itertools::merge_join_by; | ||||
|     use itertools::EitherOrBoth::{Both, Left, Right}; | ||||
|  | ||||
|   | ||||
| @@ -47,8 +47,6 @@ pub(crate) fn data_from_obkv_documents( | ||||
|     settings_diff: Arc<InnerIndexSettingsDiff>, | ||||
|     max_positions_per_attributes: Option<u32>, | ||||
| ) -> Result<()> { | ||||
|     puffin::profile_function!(); | ||||
|  | ||||
|     let (original_pipeline_result, flattened_pipeline_result): (Result<_>, Result<_>) = rayon::join( | ||||
|         || { | ||||
|             original_obkv_chunks | ||||
| @@ -90,7 +88,6 @@ pub(crate) fn data_from_obkv_documents( | ||||
|                             lmdb_writer_sx.clone(), | ||||
|                             extract_fid_word_count_docids, | ||||
|                             TypedChunk::FieldIdWordCountDocids, | ||||
|                             "field-id-wordcount-docids", | ||||
|                         ); | ||||
|                         run_extraction_task::< | ||||
|                             _, | ||||
| @@ -117,7 +114,6 @@ pub(crate) fn data_from_obkv_documents( | ||||
|                                     word_fid_docids_reader, | ||||
|                                 } | ||||
|                             }, | ||||
|                             "word-docids", | ||||
|                         ); | ||||
|  | ||||
|                         run_extraction_task::<_, _, grenad::Reader<BufReader<File>>>( | ||||
| @@ -127,7 +123,6 @@ pub(crate) fn data_from_obkv_documents( | ||||
|                             lmdb_writer_sx.clone(), | ||||
|                             extract_word_position_docids, | ||||
|                             TypedChunk::WordPositionDocids, | ||||
|                             "word-position-docids", | ||||
|                         ); | ||||
|  | ||||
|                         run_extraction_task::< | ||||
| @@ -141,7 +136,6 @@ pub(crate) fn data_from_obkv_documents( | ||||
|                             lmdb_writer_sx.clone(), | ||||
|                             extract_facet_string_docids, | ||||
|                             TypedChunk::FieldIdFacetStringDocids, | ||||
|                             "field-id-facet-string-docids", | ||||
|                         ); | ||||
|  | ||||
|                         run_extraction_task::<_, _, grenad::Reader<BufReader<File>>>( | ||||
| @@ -151,7 +145,6 @@ pub(crate) fn data_from_obkv_documents( | ||||
|                             lmdb_writer_sx.clone(), | ||||
|                             extract_facet_number_docids, | ||||
|                             TypedChunk::FieldIdFacetNumberDocids, | ||||
|                             "field-id-facet-number-docids", | ||||
|                         ); | ||||
|  | ||||
|                         run_extraction_task::<_, _, grenad::Reader<BufReader<File>>>( | ||||
| @@ -161,7 +154,6 @@ pub(crate) fn data_from_obkv_documents( | ||||
|                             lmdb_writer_sx.clone(), | ||||
|                             extract_word_pair_proximity_docids, | ||||
|                             TypedChunk::WordPairProximityDocids, | ||||
|                             "word-pair-proximity-docids", | ||||
|                         ); | ||||
|                     } | ||||
|  | ||||
| @@ -185,7 +177,6 @@ fn run_extraction_task<FE, FS, M>( | ||||
|     lmdb_writer_sx: Sender<Result<TypedChunk>>, | ||||
|     extract_fn: FE, | ||||
|     serialize_fn: FS, | ||||
|     name: &'static str, | ||||
| ) where | ||||
|     FE: Fn( | ||||
|             grenad::Reader<CursorClonableMmap>, | ||||
| @@ -203,7 +194,7 @@ fn run_extraction_task<FE, FS, M>( | ||||
|     rayon::spawn(move || { | ||||
|         let child_span = tracing::trace_span!(target: "indexing::extract::details", parent: ¤t_span, "extract_multiple_chunks"); | ||||
|         let _entered = child_span.enter(); | ||||
|         puffin::profile_scope!("extract_multiple_chunks", name); | ||||
|  | ||||
|         match extract_fn(chunk, indexer, &settings_diff) { | ||||
|             Ok(chunk) => { | ||||
|                 let _ = lmdb_writer_sx.send(Ok(serialize_fn(chunk))); | ||||
|   | ||||
| @@ -61,7 +61,6 @@ pub fn sorter_into_reader( | ||||
|     sorter: grenad::Sorter<MergeFn>, | ||||
|     indexer: GrenadParameters, | ||||
| ) -> Result<grenad::Reader<BufReader<File>>> { | ||||
|     puffin::profile_function!(); | ||||
|     let mut writer = create_writer( | ||||
|         indexer.chunk_compression_type, | ||||
|         indexer.chunk_compression_level, | ||||
| @@ -182,8 +181,6 @@ where | ||||
|     FS: for<'a> Fn(&'a [u8], &'a mut Vec<u8>) -> Result<&'a [u8]>, | ||||
|     FM: for<'a> Fn(&[u8], &[u8], &'a mut Vec<u8>) -> Result<Option<&'a [u8]>>, | ||||
| { | ||||
|     puffin::profile_function!(); | ||||
|  | ||||
|     let mut buffer = Vec::new(); | ||||
|     let database = database.remap_types::<Bytes, Bytes>(); | ||||
|  | ||||
|   | ||||
| @@ -141,8 +141,6 @@ where | ||||
|         mut self, | ||||
|         reader: DocumentsBatchReader<R>, | ||||
|     ) -> Result<(Self, StdResult<u64, UserError>)> { | ||||
|         puffin::profile_function!(); | ||||
|  | ||||
|         // Early return when there is no document to add | ||||
|         if reader.is_empty() { | ||||
|             return Ok((self, Ok(0))); | ||||
| @@ -187,8 +185,6 @@ where | ||||
|         mut self, | ||||
|         to_delete: Vec<String>, | ||||
|     ) -> Result<(Self, StdResult<u64, UserError>)> { | ||||
|         puffin::profile_function!(); | ||||
|  | ||||
|         // Early return when there is no document to add | ||||
|         if to_delete.is_empty() { | ||||
|             // Maintains Invariant: remove documents actually always returns Ok for the inner result | ||||
| @@ -223,8 +219,6 @@ where | ||||
|         mut self, | ||||
|         to_delete: &RoaringBitmap, | ||||
|     ) -> Result<(Self, u64)> { | ||||
|         puffin::profile_function!(); | ||||
|  | ||||
|         // Early return when there is no document to add | ||||
|         if to_delete.is_empty() { | ||||
|             return Ok((self, 0)); | ||||
| @@ -249,8 +243,6 @@ where | ||||
|         name = "index_documents" | ||||
|     )] | ||||
|     pub fn execute(mut self) -> Result<DocumentAdditionResult> { | ||||
|         puffin::profile_function!(); | ||||
|  | ||||
|         if self.added_documents == 0 && self.deleted_documents == 0 { | ||||
|             let number_of_documents = self.index.number_of_documents(self.wtxn)?; | ||||
|             return Ok(DocumentAdditionResult { indexed_documents: 0, number_of_documents }); | ||||
| @@ -279,8 +271,6 @@ where | ||||
|         FP: Fn(UpdateIndexingStep) + Sync, | ||||
|         FA: Fn() -> bool + Sync, | ||||
|     { | ||||
|         puffin::profile_function!(); | ||||
|  | ||||
|         let TransformOutput { | ||||
|             primary_key, | ||||
|             mut settings_diff, | ||||
| @@ -404,7 +394,7 @@ where | ||||
|             rayon::spawn(move || { | ||||
|                 let child_span = tracing::trace_span!(target: "indexing::details", parent: ¤t_span, "extract_and_send_grenad_chunks"); | ||||
|                 let _enter = child_span.enter(); | ||||
|                 puffin::profile_scope!("extract_and_send_grenad_chunks"); | ||||
|  | ||||
|                 // split obkv file into several chunks | ||||
|                 let original_chunk_iter = match original_documents { | ||||
|                     Some(original_documents) => { | ||||
| @@ -612,8 +602,6 @@ where | ||||
|         FP: Fn(UpdateIndexingStep) + Sync, | ||||
|         FA: Fn() -> bool + Sync, | ||||
|     { | ||||
|         puffin::profile_function!(); | ||||
|  | ||||
|         // Merged databases are already been indexed, we start from this count; | ||||
|         let mut databases_seen = MERGED_DATABASE_COUNT; | ||||
|  | ||||
| @@ -657,7 +645,6 @@ where | ||||
|         { | ||||
|             let span = tracing::trace_span!(target: "indexing::details", "compute_prefix_diffs"); | ||||
|             let _entered = span.enter(); | ||||
|             puffin::profile_scope!("compute_prefix_diffs"); | ||||
|  | ||||
|             current_prefix_fst = self.index.words_prefixes_fst(self.wtxn)?; | ||||
|  | ||||
| @@ -797,8 +784,6 @@ fn execute_word_prefix_docids( | ||||
|     common_prefix_fst_words: &[&[String]], | ||||
|     del_prefix_fst_words: &HashSet<Vec<u8>>, | ||||
| ) -> Result<()> { | ||||
|     puffin::profile_function!(); | ||||
|  | ||||
|     let mut builder = WordPrefixDocids::new(txn, word_docids_db, word_prefix_docids_db); | ||||
|     builder.chunk_compression_type = indexer_config.chunk_compression_type; | ||||
|     builder.chunk_compression_level = indexer_config.chunk_compression_level; | ||||
|   | ||||
| @@ -161,8 +161,6 @@ impl<'a, 'i> Transform<'a, 'i> { | ||||
|         FP: Fn(UpdateIndexingStep) + Sync, | ||||
|         FA: Fn() -> bool + Sync, | ||||
|     { | ||||
|         puffin::profile_function!(); | ||||
|  | ||||
|         let (mut cursor, fields_index) = reader.into_cursor_and_fields_index(); | ||||
|         let external_documents_ids = self.index.external_documents_ids(); | ||||
|         let mapping = create_fields_mapping(&mut self.fields_ids_map, &fields_index)?; | ||||
| @@ -375,8 +373,6 @@ impl<'a, 'i> Transform<'a, 'i> { | ||||
|     where | ||||
|         FA: Fn() -> bool + Sync, | ||||
|     { | ||||
|         puffin::profile_function!(); | ||||
|  | ||||
|         // there may be duplicates in the documents to remove. | ||||
|         to_remove.sort_unstable(); | ||||
|         to_remove.dedup(); | ||||
| @@ -466,8 +462,6 @@ impl<'a, 'i> Transform<'a, 'i> { | ||||
|     where | ||||
|         FA: Fn() -> bool + Sync, | ||||
|     { | ||||
|         puffin::profile_function!(); | ||||
|  | ||||
|         let mut documents_deleted = 0; | ||||
|         let mut document_sorter_value_buffer = Vec::new(); | ||||
|         let mut document_sorter_key_buffer = Vec::new(); | ||||
| @@ -686,8 +680,6 @@ impl<'a, 'i> Transform<'a, 'i> { | ||||
|     where | ||||
|         F: Fn(UpdateIndexingStep) + Sync, | ||||
|     { | ||||
|         puffin::profile_function!(); | ||||
|  | ||||
|         let primary_key = self | ||||
|             .index | ||||
|             .primary_key(wtxn)? | ||||
|   | ||||
| @@ -118,65 +118,6 @@ impl TypedChunk { | ||||
|     } | ||||
| } | ||||
|  | ||||
| impl TypedChunk { | ||||
|     pub fn to_debug_string(&self) -> String { | ||||
|         match self { | ||||
|             TypedChunk::FieldIdDocidFacetStrings(grenad) => { | ||||
|                 format!("FieldIdDocidFacetStrings {{ number_of_entries: {} }}", grenad.len()) | ||||
|             } | ||||
|             TypedChunk::FieldIdDocidFacetNumbers(grenad) => { | ||||
|                 format!("FieldIdDocidFacetNumbers {{ number_of_entries: {} }}", grenad.len()) | ||||
|             } | ||||
|             TypedChunk::Documents(grenad) => { | ||||
|                 format!("Documents {{ number_of_entries: {} }}", grenad.len()) | ||||
|             } | ||||
|             TypedChunk::FieldIdWordCountDocids(grenad) => { | ||||
|                 format!("FieldIdWordcountDocids {{ number_of_entries: {} }}", grenad.len()) | ||||
|             } | ||||
|             TypedChunk::WordDocids { | ||||
|                 word_docids_reader, | ||||
|                 exact_word_docids_reader, | ||||
|                 word_fid_docids_reader, | ||||
|             } => format!( | ||||
|                 "WordDocids {{ word_docids_reader: {}, exact_word_docids_reader: {}, word_fid_docids_reader: {} }}", | ||||
|                 word_docids_reader.len(), | ||||
|                 exact_word_docids_reader.len(), | ||||
|                 word_fid_docids_reader.len() | ||||
|             ), | ||||
|             TypedChunk::WordPositionDocids(grenad) => { | ||||
|                 format!("WordPositionDocids {{ number_of_entries: {} }}", grenad.len()) | ||||
|             } | ||||
|             TypedChunk::WordPairProximityDocids(grenad) => { | ||||
|                 format!("WordPairProximityDocids {{ number_of_entries: {} }}", grenad.len()) | ||||
|             } | ||||
|             TypedChunk::FieldIdFacetStringDocids((grenad, _)) => { | ||||
|                 format!("FieldIdFacetStringDocids {{ number_of_entries: {} }}", grenad.len()) | ||||
|             } | ||||
|             TypedChunk::FieldIdFacetNumberDocids(grenad) => { | ||||
|                 format!("FieldIdFacetNumberDocids {{ number_of_entries: {} }}", grenad.len()) | ||||
|             } | ||||
|             TypedChunk::FieldIdFacetExistsDocids(grenad) => { | ||||
|                 format!("FieldIdFacetExistsDocids {{ number_of_entries: {} }}", grenad.len()) | ||||
|             } | ||||
|             TypedChunk::FieldIdFacetIsNullDocids(grenad) => { | ||||
|                 format!("FieldIdFacetIsNullDocids {{ number_of_entries: {} }}", grenad.len()) | ||||
|             } | ||||
|             TypedChunk::FieldIdFacetIsEmptyDocids(grenad) => { | ||||
|                 format!("FieldIdFacetIsEmptyDocids {{ number_of_entries: {} }}", grenad.len()) | ||||
|             } | ||||
|             TypedChunk::GeoPoints(grenad) => { | ||||
|                 format!("GeoPoints {{ number_of_entries: {} }}", grenad.len()) | ||||
|             } | ||||
|             TypedChunk::VectorPoints{ remove_vectors, manual_vectors, embeddings, expected_dimension, embedder_name } => { | ||||
|                 format!("VectorPoints {{ remove_vectors: {}, manual_vectors: {}, embeddings: {}, dimension: {}, embedder_name: {} }}", remove_vectors.len(), manual_vectors.len(), embeddings.as_ref().map(|e| e.len()).unwrap_or_default(), expected_dimension, embedder_name) | ||||
|             } | ||||
|             TypedChunk::ScriptLanguageDocids(sl_map) => { | ||||
|                 format!("ScriptLanguageDocids {{ number_of_entries: {} }}", sl_map.len()) | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| /// Write typed chunk in the corresponding LMDB database of the provided index. | ||||
| /// Return new documents seen. | ||||
| #[tracing::instrument(level = "trace", skip_all, target = "indexing::write_db")] | ||||
| @@ -185,8 +126,6 @@ pub(crate) fn write_typed_chunk_into_index( | ||||
|     index: &Index, | ||||
|     wtxn: &mut RwTxn, | ||||
| ) -> Result<(RoaringBitmap, bool)> { | ||||
|     puffin::profile_function!(typed_chunks[0].to_debug_string()); | ||||
|  | ||||
|     let mut is_merged_database = false; | ||||
|     match typed_chunks[0] { | ||||
|         TypedChunk::Documents(_) => { | ||||
| @@ -877,7 +816,6 @@ where | ||||
|     FS: for<'a> Fn(&'a [u8], &'a mut Vec<u8>) -> Result<&'a [u8]>, | ||||
|     FM: for<'a> Fn(&[u8], &[u8], &'a mut Vec<u8>) -> Result<Option<&'a [u8]>>, | ||||
| { | ||||
|     puffin::profile_function!(); | ||||
|     let mut buffer = Vec::new(); | ||||
|     let database = database.remap_types::<Bytes, Bytes>(); | ||||
|  | ||||
|   | ||||
| @@ -398,8 +398,6 @@ impl<'a, 't, 'i> Settings<'a, 't, 'i> { | ||||
|         FP: Fn(UpdateIndexingStep) + Sync, | ||||
|         FA: Fn() -> bool + Sync, | ||||
|     { | ||||
|         puffin::profile_function!(); | ||||
|  | ||||
|         // if the settings are set before any document update, we don't need to do anything, and | ||||
|         // will set the primary key during the first document addition. | ||||
|         if self.index.number_of_documents(self.wtxn)? == 0 { | ||||
|   | ||||
| @@ -52,8 +52,6 @@ impl<'t, 'i> WordPrefixDocids<'t, 'i> { | ||||
|         common_prefix_fst_words: &[&[String]], | ||||
|         del_prefix_fst_words: &HashSet<Vec<u8>>, | ||||
|     ) -> Result<()> { | ||||
|         puffin::profile_function!(); | ||||
|  | ||||
|         // It is forbidden to keep a mutable reference into the database | ||||
|         // and write into it at the same time, therefore we write into another file. | ||||
|         let mut prefix_docids_sorter = create_sorter( | ||||
|   | ||||
| @@ -57,7 +57,6 @@ impl<'t, 'i> WordPrefixIntegerDocids<'t, 'i> { | ||||
|         common_prefix_fst_words: &[&[String]], | ||||
|         del_prefix_fst_words: &HashSet<Vec<u8>>, | ||||
|     ) -> Result<()> { | ||||
|         puffin::profile_function!(); | ||||
|         debug!("Computing and writing the word levels integers docids into LMDB on disk..."); | ||||
|  | ||||
|         let mut prefix_integer_docids_sorter = create_sorter( | ||||
|   | ||||
| @@ -45,8 +45,6 @@ impl<'t, 'i> WordsPrefixesFst<'t, 'i> { | ||||
|         name = "words_prefix_fst" | ||||
|     )] | ||||
|     pub fn execute(self) -> Result<()> { | ||||
|         puffin::profile_function!(); | ||||
|  | ||||
|         let words_fst = self.index.words_fst(self.wtxn)?; | ||||
|  | ||||
|         let mut current_prefix = vec![SmallString32::new(); self.max_prefix_length]; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user