Browse Source

Merge pull request #2249 from zapov/master

Disabled bulk reading for Revenj.
Nate 9 years ago
parent
commit
25befea62d

+ 17 - 4
frameworks/CSharp/revenj/Revenj.Bench/RestService.cs

@@ -98,7 +98,8 @@ namespace Revenj.Bench
 			return ReturnJSON(world, ctx.Stream);
 			return ReturnJSON(world, ctx.Stream);
 		}
 		}
 
 
-		private void LoadWorlds(int repeat, Context ctx)
+		/* bulk loading of worlds. use such pattern for production code */
+		private void LoadWorldsFast(int repeat, Context ctx)
 		{
 		{
 			var reader = ctx.BulkReader;
 			var reader = ctx.BulkReader;
 			var lazyResult = ctx.LazyWorlds;
 			var lazyResult = ctx.LazyWorlds;
@@ -114,6 +115,18 @@ namespace Revenj.Bench
 				worlds[i] = lazyResult[i].Value;
 				worlds[i] = lazyResult[i].Value;
 		}
 		}
 
 
+		/* multiple roundtrips loading of worlds. don't write such production code */
+		private void LoadWorldsSlow(int repeat, Context ctx)
+		{
+			var worlds = ctx.Worlds;
+			var repository = ctx.WorldRepository;
+			for (int i = 0; i < repeat; i++)
+			{
+				var id = Random.Next(10000) + 1;
+				worlds[i] = repository.Find(IDs[id]);
+			}
+		}
+
 		public Stream MultipleQueries(string count)
 		public Stream MultipleQueries(string count)
 		{
 		{
 			int repeat;
 			int repeat;
@@ -121,7 +134,7 @@ namespace Revenj.Bench
 			if (repeat < 1) repeat = 1;
 			if (repeat < 1) repeat = 1;
 			else if (repeat > 500) repeat = 500;
 			else if (repeat > 500) repeat = 500;
 			var ctx = GetContext(Services);
 			var ctx = GetContext(Services);
-			LoadWorlds(repeat, ctx);
+			LoadWorldsSlow(repeat, ctx);
 			var cms = ctx.Stream;
 			var cms = ctx.Stream;
 			ctx.Worlds.Serialize(cms, repeat);
 			ctx.Worlds.Serialize(cms, repeat);
 			ThreadContext.Response.ContentType = "application/json";
 			ThreadContext.Response.ContentType = "application/json";
@@ -137,7 +150,7 @@ namespace Revenj.Bench
 			if (repeat < 1) repeat = 1;
 			if (repeat < 1) repeat = 1;
 			else if (repeat > 500) repeat = 500;
 			else if (repeat > 500) repeat = 500;
 			var ctx = GetContext(Services);
 			var ctx = GetContext(Services);
-			LoadWorlds(repeat, ctx);
+			LoadWorldsSlow(repeat, ctx);
 			var result = new World[repeat];
 			var result = new World[repeat];
 			Array.Copy(ctx.Worlds, result, repeat);
 			Array.Copy(ctx.Worlds, result, repeat);
 			for (int i = 0; i < result.Length; i++)
 			for (int i = 0; i < result.Length; i++)
@@ -169,6 +182,6 @@ namespace Revenj.Bench
 			cms.Position = 0;
 			cms.Position = 0;
 			ThreadContext.Response.ContentType = "text/html; charset=UTF-8";
 			ThreadContext.Response.ContentType = "text/html; charset=UTF-8";
 			return cms;
 			return cms;
-	}
+		}
 	}
 	}
 }
 }

+ 2 - 2
frameworks/Java/revenj/pom.xml

@@ -14,7 +14,7 @@
 		<dependency>
 		<dependency>
 			<groupId>org.revenj</groupId>
 			<groupId>org.revenj</groupId>
 			<artifactId>revenj-core</artifactId>
 			<artifactId>revenj-core</artifactId>
-			<version>0.9.7</version>
+			<version>0.9.9</version>
 		</dependency>
 		</dependency>
                 <dependency>
                 <dependency>
                         <groupId>org.apache.commons</groupId>
                         <groupId>org.apache.commons</groupId>
@@ -33,7 +33,7 @@
 			<plugin>
 			<plugin>
 				<groupId>com.dslplatform</groupId>
 				<groupId>com.dslplatform</groupId>
 				<artifactId>dsl-platform-maven-plugin</artifactId>
 				<artifactId>dsl-platform-maven-plugin</artifactId>
-				<version>0.8</version>
+				<version>0.9</version>
 				<executions>
 				<executions>
 					<execution>
 					<execution>
 						<phase>generate-sources</phase>
 						<phase>generate-sources</phase>

+ 11 - 1
frameworks/Java/revenj/src/main/java/hello/Context.java

@@ -57,8 +57,9 @@ class Context {
 		return random.nextInt(10000) + 1;
 		return random.nextInt(10000) + 1;
 	}
 	}
 
 
+	/* bulk loading of worlds. use such pattern for production code */
 	@SuppressWarnings("unchecked")
 	@SuppressWarnings("unchecked")
-	public World[] loadWorlds(final int count) throws IOException {
+	public World[] loadWorldsFast(final int count) throws IOException {
 		bulkReader.reset();
 		bulkReader.reset();
 		for (int i = 0; i < count; i++) {
 		for (int i = 0; i < count; i++) {
 			callables[i] = bulkReader.find(World.class, Integer.toString(getRandom10k()));
 			callables[i] = bulkReader.find(World.class, Integer.toString(getRandom10k()));
@@ -73,4 +74,13 @@ class Context {
 		}
 		}
 		return buffer;
 		return buffer;
 	}
 	}
+
+	/* multiple roundtrips loading of worlds. don't write such production code */
+	@SuppressWarnings("unchecked")
+	public World[] loadWorldsSlow(final int count) throws IOException {
+		for (int i = 0; i < count; i++) {
+			buffer[i] = worlds.find(getRandom10k(), connection).get();
+		}
+		return buffer;
+	}
 }
 }

+ 1 - 1
frameworks/Java/revenj/src/main/java/hello/QueriesServlet.java

@@ -15,7 +15,7 @@ public class QueriesServlet extends HttpServlet {
 		final int count = Utils.parseBoundParam(req);
 		final int count = Utils.parseBoundParam(req);
 		final Context ctx = Utils.getContext();
 		final Context ctx = Utils.getContext();
 		final JsonWriter json = ctx.json;
 		final JsonWriter json = ctx.json;
-		final World[] worlds = ctx.loadWorlds(count);
+		final World[] worlds = ctx.loadWorldsSlow(count);
 		json.serialize(worlds, count);
 		json.serialize(worlds, count);
 		json.toStream(res.getOutputStream());
 		json.toStream(res.getOutputStream());
 	}
 	}

+ 1 - 1
frameworks/Java/revenj/src/main/java/hello/UpdatesServlet.java

@@ -18,7 +18,7 @@ public class UpdatesServlet extends HttpServlet {
 		final int count = Utils.parseBoundParam(req);
 		final int count = Utils.parseBoundParam(req);
 		final Context ctx = Utils.getContext();
 		final Context ctx = Utils.getContext();
 		final JsonWriter json = ctx.json;
 		final JsonWriter json = ctx.json;
-		final World[] worlds = ctx.loadWorlds(count);
+		final World[] worlds = ctx.loadWorldsSlow(count);
 		final ArrayList<World> changed = new ArrayList<>(count);
 		final ArrayList<World> changed = new ArrayList<>(count);
 		for (int i = 0; i < count; i++) {
 		for (int i = 0; i < count; i++) {
 			changed.add(worlds[i].setRandomNumber(ctx.getRandom10k()));
 			changed.add(worlds[i].setRandomNumber(ctx.getRandom10k()));

+ 5 - 3
toolset/setup/linux/languages/dsl_platform.sh

@@ -1,9 +1,11 @@
 #!/bin/bash
 #!/bin/bash
 
 
-RETCODE=$(fw_exists $IROOT/dsl-compiler.exe)
+RETCODE=$(fw_exists ${IROOT}/dsl-compiler-1.6.installed)
 [ ! "$RETCODE" == 0 ] || { \
 [ ! "$RETCODE" == 0 ] || { \
   return 0; }
   return 0; }
 
 
-wget -O $IROOT/dsl-compiler.zip https://github.com/ngs-doo/revenj/releases/download/1.3.1/dsl-compiler.zip
-unzip $IROOT/dsl-compiler.zip -d $IROOT
+wget -O $IROOT/dsl-compiler.zip https://github.com/ngs-doo/revenj/releases/download/1.4.0/dsl-compiler.zip
+unzip -o $IROOT/dsl-compiler.zip -d $IROOT
 rm $IROOT/dsl-compiler.zip
 rm $IROOT/dsl-compiler.zip
+
+echo "1.6" > $IROOT/dsl-compiler-1.6.installed