There are number of if/switch blocks in a number of ColumnCommand methods. Some of them are inside heavy processing loops.
The current CC method implementation doesn't allow to separate out a low level scanning/filtering loops, e.g. go over the column block and compare the values against empty/null magic. This prevents the code from being parallelized using SIMD.
The suggested approach is to turn most of the related CC methods into templates to leverage this in the future pathes.