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: github-unsubscr...@arrow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to