package io.mycat.performance; //package org.opencloudb.performance; // //import java.nio.ByteBuffer; //import java.util.Collection; //import java.util.HashSet; //import java.util.Random; //import java.util.Set; // //import org.opencloudb.mpp.ColMeta; //import org.opencloudb.mpp.OrderCol; //import org.opencloudb.mpp.tmp.FastRowDataSorter; //import org.opencloudb.mpp.tmp.MutilNodeMergeItf; //import org.opencloudb.mysql.BufferUtil; //import org.opencloudb.net.mysql.RowDataPacket; // //public class TestMergeSorter { // // // @Test // public static void main(String[] args) { // ColMeta colMeta = new ColMeta(0, ColMeta.COL_TYPE_INT); // OrderCol col = new OrderCol(colMeta, OrderCol.COL_ORDER_TYPE_DESC); // OrderCol[] orderCols = { col }; // MutilNodeMergeItf sorter = new FastRowDataSorter(orderCols); // byte idLen = 4; // byte packId = 0; // int maxCount = 10000; // int bound = maxCount * 2; // Random rd = new Random(); // Set<Integer> set = new HashSet<Integer>(); // while (set.size() < maxCount) { // set.add(rd.nextInt(bound)); // } // for (Integer integer : set) { // String name = "name".concat(String.valueOf(integer)); // int length = name.length(); // RowDataPacket row = new RowDataPacket(2); // ByteBuffer buffer = ByteBuffer.allocate(3 + 1 + 1 + 4 + 1 + length); // BufferUtil.writeUB3(buffer, buffer.capacity());// PACKLEN // buffer.put(packId++);// packID // buffer.put(idLen);// LEN // BufferUtil.writeInt(buffer, integer); // buffer.put((byte) length); // buffer.put(name.getBytes()); // row.read(buffer.array()); // sorter.addRow(row); // } // set.clear(); // System.gc(); // System.out.println("add finished"); // for (int i = 0; i < 100; i++) { // long st = System.currentTimeMillis(); // Collection<RowDataPacket> res = sorter.getResult(); // long end = System.currentTimeMillis();// 37.246//15.196 // System.out.println((end - st) / 1000.0); // } // // for (RowDataPacket row : res) { // // byte[] x = row.fieldValues.get(0); // // byte[] name = row.fieldValues.get(1); // // ByteBuffer wrap = ByteBuffer.wrap(x); // // wrap.order(ByteOrder.LITTLE_ENDIAN); // // System.out.println(wrap.getInt()+","+new String(name)); // // // // } // sorter.close(); // } //}