...
diff --git a/run.sh b/run.sh
index 6e2afef..89bc376 100755
--- a/run.sh
+++ b/run.sh
@@ -1,4 +1,4 @@
 #!/bin/sh
 
-java -Xmx100m -server -cp lib/\*:target/classes:target/test-classes $*
+java -Xmx256m -server -cp lib/\*:target/classes:target/test-classes $*
 
diff --git a/src/test/java/perf/ManualWritePerfUntyped.java b/src/test/java/perf/ManualWritePerfUntyped.java
new file mode 100644
index 0000000..e941453
--- /dev/null
+++ b/src/test/java/perf/ManualWritePerfUntyped.java
@@ -0,0 +1,46 @@
+package perf;
+
+import java.io.File;
+import java.util.*;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.ObjectWriter;
+
+/* Test modified from json-parsers-benchmark, to be able to profile
+ * Jackson implementation.
+ */
+public class ManualWritePerfUntyped
+    extends ObjectWriterBase<Object,Object>
+{
+    @Override
+    protected int targetSizeMegs() { return 15; }
+
+    public static void main(String[] args) throws Exception
+    {
+        if (args.length != 1) {
+            System.err.println("Usage: java [input]");
+            System.exit(1);
+        }
+        ObjectMapper mapper = new ObjectMapper();
+        Map<?,?> stuff = mapper.readValue(new File(args[0]), Map.class);
+        new ManualWritePerfUntyped().test(mapper,
+                "AllTypes/small-1", stuff, Object.class,
+                "AllTypes/small-2", stuff, Object.class);
+    }
+
+    @Override
+    protected long testSer(int REPS, Object value, ObjectWriter writer) throws Exception
+    {
+        final NopOutputStream out = new NopOutputStream();
+        long start = System.nanoTime();
+        byte[] output = null;
+
+        while (--REPS >= 0) {
+            output = writer.writeValueAsBytes(value);
+        }
+        hash = output.length;
+        long nanos = System.nanoTime() - start;
+        out.close();
+        return nanos;
+    }
+}
diff --git a/src/test/java/perf/ObjectWriterBase.java b/src/test/java/perf/ObjectWriterBase.java
index 4162459..a1d2aea 100644
--- a/src/test/java/perf/ObjectWriterBase.java
+++ b/src/test/java/perf/ObjectWriterBase.java
@@ -27,8 +27,8 @@
         }
 
         final ObjectWriter writer0 = mapper.writer().with(SerializationFeature.EAGER_SERIALIZER_FETCH);
-        final ObjectWriter jsonWriter = writer0.withType(inputClass1);
-        final ObjectWriter arrayWriter = writer0.withType(inputClass2);
+        final ObjectWriter writer1 = writer0.withType(inputClass1);
+        final ObjectWriter writer2 = writer0.withType(inputClass2);
         
         int i = 0;
         int roundsDone = 0;
@@ -52,12 +52,12 @@
             switch (round) {
             case 0:
                 msg = desc1;
-                writer = jsonWriter;
+                writer = writer1;
                 value = inputValue1;
                 break;
             case 1:
                 msg = desc2;
-                writer = arrayWriter;
+                writer = writer2;
                 value = inputValue2;
                 break;
             default: