int pop_n = filter.getPopInt(); int peek_n = filter.getPeekInt(); int push_n = filter.getPushInt();
int pop_n = filter.getPopEstimate();  int push_n = filter.getPushEstimate();
    public static int estimateIOSize(SIROperator oper) {        int id = NodeEnumerator.getSIROperatorId(oper);        FlatNode node = NodeEnumerator.getFlatNode(id);        Integer steady = (Integer)ClusterBackend.steadyExecutionCounts.get(node);        int steady_int = 0;        if (steady != null) steady_int = (steady).intValue();        if (oper instanceof SIRFilter) {            SIRFilter filter = (SIRFilter)oper;            CType input_type = filter.getInputType();            CType output_type = filter.getOutputType();            int pop_n = filter.getPopInt();            int peek_n = filter.getPeekInt();            int push_n = filter.getPushInt();            return steady_int*pop_n*getTypeSize(input_type)+                //(peek_n-pop_n)*getTypeSize(input_type)+                steady_int*push_n*getTypeSize(output_type);        }            if (oper instanceof SIRJoiner) {            SIRJoiner joiner = (SIRJoiner)oper;            CType baseType = CommonUtils.getBaseType(CommonUtils.getJoinerType(node));            int sum = joiner.getSumOfWeights();            return DataEstimate.getTypeSize(baseType)*sum*2;         }        if (oper instanceof SIRSplitter) {            SIRSplitter splitter = (SIRSplitter)oper;            CType baseType = CommonUtils.getBaseType(CommonUtils.getOutputType(node));            int sum = splitter.getSumOfWeights();            return DataEstimate.getTypeSize(baseType)*sum*2;         }        return 0;    }