1 /*******************************************************************************
2 * Copyright (c) 2007, 2010 Association for Decentralized Information Management
4 * All rights reserved. This program and the accompanying materials
5 * are made available under the terms of the Eclipse Public License v1.0
6 * which accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
10 * VTT Technical Research Centre of Finland - initial API and implementation
11 *******************************************************************************/
12 package org.simantics.db.tests.performance.read;
14 import java.util.UUID;
16 import org.simantics.db.Resource;
17 import org.simantics.db.Session;
18 import org.simantics.db.VirtualGraph;
19 import org.simantics.db.service.VirtualGraphSupport;
20 import org.simantics.db.testing.base.ExistingDatabaseTest;
22 public class ReadHierarchicalNamesFromVirtualGraph extends ExistingDatabaseTest {
24 final private static String name = "name";
25 int[] sizes = { 244, 64, 64 };
27 public void test() throws Exception {
29 Session session = getSession();
31 VirtualGraph graph = session.getService(VirtualGraphSupport.class).getMemoryPersistent(UUID.randomUUID().toString());
33 // First build the test data
34 long start = System.nanoTime();
35 Resource root = session.syncRequest(HierarchicalNames.writeOnly2(name, sizes, graph));
36 long duration = System.nanoTime() - start;
37 System.out.println("write = " + 1e-9*duration);
39 start = System.nanoTime();
40 session.syncRequest(HierarchicalNames.readAsync(root));
41 duration = System.nanoTime() - start;
42 System.out.println("cold start = " + 1e-9*duration);