Describe the enhancement requested
I encountered a performance issue when calling the FileReader::RowGroup(i)->ReadTable interface in a multi-threaded environment. For a RowGroup with 1 million rows, when the number of threads is 1, FileReader::RowGroup(i)->ReadTable takes around 40ms. However, as the number of threads increases, the execution time also increases gradually. When the number of threads reaches 16, the execution time reaches around 250ms.
This is reflected in the overall file parsing performance, where using 16 threads is only about 5 times faster than using a single thread.
Is this issue caused by locking or I/O in the interface? Are there any other methods for multi-threaded parsing?
Component(s)
C++