package com.querydsl.core.support;
import org.junit.Ignore;
import org.junit.Test;
import com.querydsl.core.types.EntityPath;
import com.querydsl.core.types.PathMetadataFactory;
import com.querydsl.core.types.dsl.EntityPathBase;
@Ignore
public class QueryMixinPerformanceTest {
public static final int iterations = 2000000;
@Test
public void normal() { // 1791
EntityPath<DummyEntity> entity = new EntityPathBase<DummyEntity>(DummyEntity.class, "entity");
EntityPathBase<DummyEntity> other = new EntityPathBase<DummyEntity>(DummyEntity.class,
PathMetadataFactory.forProperty(entity, "other"));
long start = System.currentTimeMillis();
for (int i = 0; i < iterations; i++) {
QueryMixin<?> mixin = new QueryMixin<Void>();
mixin.from(entity);
mixin.where(other.eq(new DummyEntity()));
mixin.setProjection(entity);
}
System.err.println(System.currentTimeMillis() - start);
}
@Test
public void array_arguments() { // 2260
EntityPath<DummyEntity> entity = new EntityPathBase<DummyEntity>(DummyEntity.class, "entity");
EntityPath[] entities = new EntityPath[]{entity};
EntityPathBase<DummyEntity> other = new EntityPathBase<DummyEntity>(DummyEntity.class,
PathMetadataFactory.forProperty(entity, "other"));
long start = System.currentTimeMillis();
for (int i = 0; i < iterations; i++) {
QueryMixin<?> mixin = new QueryMixin<Void>();
mixin.from(entities);
mixin.where(other.eq(new DummyEntity()));
mixin.setProjection(entity);
}
System.err.println(System.currentTimeMillis() - start);
}
}