pitrou commented on PR #47086:
URL: https://github.com/apache/arrow/pull/47086#issuecomment-3085062003
Ok, perhaps we can define an enum:
```c++
/// An abstract, codec-independent, compression level
///
/// These enum members are mapped to codec-specific
/// concrete compression levels.
enum class CompressionLevel { kFastest, kFaster, kBalanced, kBetter, kBest };
```
And switch `CodecOptions` to something like:
```c++
class ARROW_EXPORT CodecOptions {
public:
explicit CodecOptions(int compression_level = kUseDefaultCompressionLevel)
: compression_level(compression_level) {}
explicit CodecOptions(CompressionLevel compression_level)
: compression_level(compression_level) {}
virtual ~CodecOptions() = default;
/// An abstract compression level, or a codec-specific compression level
std::variant<CompressionLevel, int> compression_level;
};
```
And then have Parquet use `kBalanced` or `kBetter` by default, while IPC
would use `kFaster` by default.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]