Skip to content

Commit eea4bb6

Browse files
committed
Ordering data so benchmark v2 will be comparable to v1 (data is ordered and pull from map)
1 parent a531698 commit eea4bb6

File tree

4 files changed

+22
-4
lines changed

4 files changed

+22
-4
lines changed

performance/src/test/com/clickhouse/benchmark/clients/Components.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,9 +108,11 @@ public void SerializerOutputStreamV2(DataState dataState) {
108108
try {
109109
RowBinaryFormatWriter w = new RowBinaryFormatWriter(empty, dataState.dataSet.getSchema(), ClickHouseFormat.RowBinary);
110110
List<ClickHouseColumn> columns = dataState.dataSet.getSchema().getColumns();
111-
for (Map<String, Object> row : dataState.dataSet.getRows()) {
112-
for (ClickHouseColumn column : columns) {
113-
w.setValue(column.getColumnName(),row.get(column.getColumnName()));
111+
for (List<Object> row : dataState.dataSet.getRowsOrdered()) {
112+
int index = 0;
113+
for (Object value : row) {
114+
w.setValue(columns.get(index).getColumnName(), value);
115+
index++;
114116
}
115117
w.commitRow();
116118
}

performance/src/test/com/clickhouse/benchmark/data/DataSet.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ default InputStream getInputStream(int rowId, ClickHouseFormat format) {
4747
List<Map<String, Object>> getRowsLimit(int numRows);
4848

4949
List<ClickHouseRecord> getClickHouseRecordsLimit(int numRows);
50+
List<List<Object>> getRowsOrdered();
5051

5152
void setClickHouseRecords(List<ClickHouseRecord> records);
5253

performance/src/test/com/clickhouse/benchmark/data/FileDataSet.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ public class FileDataSet implements DataSet{
3131
private List<byte[]> lines =null;
3232

3333
private List<Map<String, Object>> data;
34+
private List<List<Object>> dataOrdered;
3435

3536
public FileDataSet(String filePath, int limit) {
3637
LOGGER.info("Reading file {}", filePath);
@@ -125,7 +126,10 @@ public List<Map<String, Object>> getRowsLimit(int numRows) {
125126
public List<ClickHouseRecord> getClickHouseRecordsLimit(int numRows) {
126127
return clickHouseRecords.subList(0, numRows);
127128
}
128-
129+
@Override
130+
public List<List<Object>> getRowsOrdered() {
131+
return dataOrdered;
132+
}
129133
@Override
130134
public ClickHouseFormat getFormat() {
131135
return ClickHouseFormat.CSV;
@@ -142,17 +146,24 @@ public List<ClickHouseRecord> getClickHouseRecords() {
142146
public void setClickHouseRecords(List<ClickHouseRecord> records) {
143147
this.clickHouseRecords = records;
144148
List<ClickHouseColumn> columns = schema.getColumns();
149+
dataOrdered = new ArrayList<>(records.size());
145150
data = new ArrayList<>(records.size());
146151
for (ClickHouseRecord record : records) {
147152
Iterator<ClickHouseValue> vIter = record.iterator();
148153
int i = 0;
149154
Map<String, Object> row = new HashMap<>();
155+
List<Object> rowOrdered = new ArrayList<>(columns.size());
150156
while (vIter.hasNext()) {
151157
ClickHouseValue v = vIter.next();
152158
row.put(columns.get(i++).getColumnName(), v.asObject());
159+
160+
rowOrdered.add(v.asObject());
153161
}
154162
data.add(row);
163+
dataOrdered.add(rowOrdered);
164+
155165
}
166+
156167
}
157168

158169
private ClickHouseDataProcessor dataProcessor;

performance/src/test/com/clickhouse/benchmark/data/SimpleDataSet.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,10 @@ public List<Map<String, Object>> getRowsLimit(int numRows) {
155155
return data.subList(0, numRows);
156156
}
157157
@Override
158+
public List<List<Object>> getRowsOrdered() {
159+
return null;
160+
}
161+
@Override
158162
public List<ClickHouseRecord> getClickHouseRecordsLimit(int numRows) {
159163
return clickHouseRecords.subList(0, numRows);
160164
}

0 commit comments

Comments
 (0)