Push-Pull pattern implementation for conversion and data loading (performance improvement)
Type of change
-
Bug Fix -
Feature
Does this introduce a change in the core logic?
- [No]
Does this introduce a change in the cloud provider implementation, if so which cloud?
-
AWS -
Azure -
GCP -
IBM
Updates description
The following changes have been done:
-
updated unit tests to match the Push Pull pattern implementation
-
implemented Push Pull pattern when next data are being loaded while the previous are being converted
-
added read chunk support to buffered readers class family
-
'segysdk::bulkaccess::SegyReaderFactory' sets the chunk size for bulk readers
-
renamed to 'segysdk::segyindex::SegyIndex::getConstantTraceWeightingFactor'
-
modified interface 'segysdk::segyindex::SegyIndex::std::unique_ptrbulkaccess::SegyBulkReader createMultiBulkReader(std::shared_ptrsegyindex::SegyIndex segyIndex, size_t numberOfTraces, size_t bulksCount)'
-
added several members to interface 'segysdk::bulkaccess::SegyBulkReader'
added:
- size_t getBufferSize() const
- void setBufferLoadChunk(size_t newChunk)
- void LoadDataToCache(size_t fileOffset, size_t dataSize)
modified (return value):
- std::optional<size_t> setReadOffsetHint(size_t inlineIndex, size_t xlineIndex, size_t sampleIndex) added 'SD_CHUNK_SIZE' env variable
-
added 'segysdk::CacheSizeOption::chunkSize()' member
-
added interface 'segysdk::bulkaccess::BulkIndex::TraceIndexer::findTraceByIndex(.)'