package org.wikibrain.cookbook.core; import org.junit.Test; import org.wikibrain.conf.ConfigurationException; import org.wikibrain.conf.Configurator; import org.wikibrain.core.cmd.Env; import org.wikibrain.core.cmd.EnvBuilder; import org.wikibrain.core.dao.DaoException; import org.wikibrain.core.dao.DaoFilter; import org.wikibrain.core.dao.UniversalLinkDao; import org.wikibrain.core.model.UniversalLink; import org.wikibrain.core.model.UniversalLinkGroup; /** * * @author Ari Weiland */ public class UniversalLinkExplorer { @Test public void benchmarkTest() throws ConfigurationException, DaoException { Env env = new EnvBuilder().build(); Configurator configurator = env.getConfigurator(); UniversalLinkDao dao = configurator.get(UniversalLinkDao.class, "skeletal-sql"); long start = System.currentTimeMillis(); Iterable<UniversalLink> links = dao.get(new DaoFilter()); int i=0; for (UniversalLink link : links) { i++; if (i%100000==0) System.out.println("UniversalLinks retrieved: " + i); } long end = System.currentTimeMillis(); long total = end - start; double seconds = total / 1000.0; System.out.println("Time (s): " + seconds); System.out.println("Per link (ms): " + total / (double) i); } @Test public void testGetOutlinks() throws ConfigurationException, DaoException { Env env = new EnvBuilder().build(); Configurator configurator = env.getConfigurator(); UniversalLinkDao dao = configurator.get(UniversalLinkDao.class, "skeletal-sql"); long start = System.currentTimeMillis(); UniversalLinkGroup links = dao.getOutlinks(0); int i=0; for (UniversalLink link : links) { i++; System.out.println(i + " - Dest ID: " + link.getDestId()); } long end = System.currentTimeMillis(); long total = end - start; double seconds = total / 1000.0; System.out.println("Time (s): " + seconds); System.out.println("Per link (ms): " + total / (double) i); } }