} java_end_document(); $t2 = java_values($Sys->currentTimeMillis()); $T5 = $t2 - $t1; $Sys->gc(); $t1 = java_values($Sys->currentTimeMillis()); java_begin_document(); $Array = new JavaClass("java.lang.reflect.Array"); $ar = $Array->newInstance(new JavaClass("java.lang.Integer"), $n); for ($i = 0; $i < $n; $i++) { $Array->set($ar, $i, $i); } java_end_document(); $t2 = java_values($Sys->currentTimeMillis()); $T6 = $t2 - $t1; $s = ""; for ($i = 0; $i < $n; $i++) { $s .= $i; } $Sys->gc(); $t1 = java_values($Sys->currentTimeMillis()); $str = new java("java.lang.String", $s); $t2 = java_values($Sys->currentTimeMillis()); $T7 = $t2 - $t1; echo "Time needed to send {$n} values to the server.\n"; echo "constructor : LinkedList: {$T1} ms, HashMap: {$T2} ms, Array: {$T3} ms\n"; echo "invocations : LinkedList: {$T4} ms, HashMap: {$T5} ms, Array: {$T6} ms\n"; echo "Sending a {$str->length()} length string: {$T7} ms\n"; ?>
<?php /** * Test OutOfMemory behaviour * PHP must not hang if an out of memory error occurs in either Java or PHP */ require_once "../server/META-INF/java/JavaBridge.inc"; $s = str_repeat("1", 3 * 8192 * 1024); $str = new java("java.lang.String", $s); echo $str->length();