summaryrefslogtreecommitdiff
path: root/tests/compare/serialize-v-jsonencode.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/compare/serialize-v-jsonencode.php')
-rw-r--r--tests/compare/serialize-v-jsonencode.php35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/compare/serialize-v-jsonencode.php b/tests/compare/serialize-v-jsonencode.php
new file mode 100644
index 0000000..ba9ccc9
--- /dev/null
+++ b/tests/compare/serialize-v-jsonencode.php
@@ -0,0 +1,35 @@
+<?php
+echo "test started... ";
+ob_flush();
+
+Benchmark::add_spot('query-10000-products');
+$db = Registry::use('database');
+$products = $db->runQuery("SELECT * FROM products LIMIT 10000",[]);
+
+Benchmark::add_spot('serialize-start');
+foreach($products as $product) {
+ $ser = serialize($product);
+}
+
+Benchmark::add_spot('serialize+unserialize-start');
+foreach($products as $product) {
+ $ser = serialize($product);
+ $ori = unserialize($ser);
+}
+
+Benchmark::add_spot('jsonencode-start');
+foreach($products as $product) {
+ $json = json_encode($product);
+}
+
+Benchmark::add_spot('jsonencode+decode-start');
+foreach($products as $product) {
+ $json = json_encode($product);
+ $ori = json_decode($json);
+}
+
+Benchmark::add_spot('end');
+Benchmark::render_report('code');
+
+echo "test completed!";
+die(); \ No newline at end of file