[njs] Fixed makefile dependency issue introduced in eb9258cfcf40.

2020-03-17 Thread Dmitry Volyntsev
details:   https://hg.nginx.org/njs/rev/b2bea51069fd
branches:  
changeset: 1354:b2bea51069fd
user:  Dmitry Volyntsev 
date:  Mon Mar 16 15:49:51 2020 +0300
description:
Fixed makefile dependency issue introduced in eb9258cfcf40.

diffstat:

 auto/make |  6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diffs (24 lines):

diff -r cc5c687ebc1c -r b2bea51069fd auto/make
--- a/auto/make Thu Mar 05 16:05:40 2020 +0300
+++ b/auto/make Mon Mar 16 15:49:51 2020 +0300
@@ -177,8 +177,8 @@ njs_src="src/test/njs_externals_test.c"
 fname=$(basename $njs_src)
 njs_externals_obj="test/${fname%.c}.o"
 njs_dep="test/${fname%.c}.dep"
-njs_dep_flags=`njs_gen_dep_flags $njs_dep $fname`
-njs_dep_post=`njs_gen_dep_post $njs_dep $fname`
+njs_dep_flags=`njs_gen_dep_flags $njs_dep $njs_externals_obj`
+njs_dep_post=`njs_gen_dep_post $njs_dep $njs_externals_obj`
 
 cat << END >> $NJS_MAKEFILE
 
@@ -209,8 +209,8 @@ do
\$(NJS_CC) -o $NJS_BUILD_DIR/$njs_bin \$(NJS_CFLAGS) \\
$NJS_LIB_AUX_CFLAGS \$(NJS_LIB_INCS) \\
$njs_dep_flags \\
+   $NJS_BUILD_DIR/$njs_externals_obj \\
-Injs $njs_src $NJS_BUILD_DIR/libnjs.a \\
-   $NJS_BUILD_DIR/$njs_externals_obj \\
-lm $NJS_LIBS $NJS_LIB_AUX_LIBS
$njs_dep_post
 
___
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel


[njs] Added benchmark tests for externals.

2020-03-17 Thread Dmitry Volyntsev
details:   https://hg.nginx.org/njs/rev/627def6a4630
branches:  
changeset: 1355:627def6a4630
user:  Dmitry Volyntsev 
date:  Tue Mar 17 18:33:25 2020 +0300
description:
Added benchmark tests for externals.

diffstat:

 src/test/njs_benchmark.c |  48 
 1 files changed, 48 insertions(+), 0 deletions(-)

diffs (79 lines):

diff -r b2bea51069fd -r 627def6a4630 src/test/njs_benchmark.c
--- a/src/test/njs_benchmark.c  Mon Mar 16 15:49:51 2020 +0300
+++ b/src/test/njs_benchmark.c  Tue Mar 17 18:33:25 2020 +0300
@@ -6,6 +6,8 @@
 
 #include 
 
+#include "njs_externals_test.h"
+
 #include 
 #include 
 #include 
@@ -65,6 +67,11 @@ njs_benchmark_test(njs_vm_t *parent, njs
 goto done;
 }
 
+ret = njs_externals_init(vm);
+if (ret != NJS_OK) {
+goto done;
+}
+
 n = test->repeat;
 expected = &test->result;
 
@@ -212,6 +219,27 @@ static njs_benchmark_test_t  njs_test[] 
   njs_str("3524578"),
   1 },
 
+{ "array 64k keys",
+  njs_str("var arr = new Array(2**16);"
+  "arr.fill(1);"
+  "Object.keys(arr)[0]"),
+  njs_str("0"),
+  10 },
+
+{ "array 64k values",
+  njs_str("var arr = new Array(2**16);"
+  "arr.fill(1);"
+  "Object.values(arr)[0]"),
+  njs_str("1"),
+  10 },
+
+{ "array 64k entries",
+  njs_str("var arr = new Array(2**16);"
+  "arr.fill(1);"
+  "Object.entries(arr)[0][0]"),
+  njs_str("0"),
+  10 },
+
 { "array 1M",
   njs_str("var arr = new Array(100);"
   "var count = 0, length = arr.length;"
@@ -229,6 +257,26 @@ static njs_benchmark_test_t  njs_test[] 
   "count"),
   njs_str("2000"),
   1 },
+
+{ "external property ($r.uri)",
+  njs_str("$r.uri"),
+  njs_str("АБВ"),
+  1000 },
+
+{ "external object property ($r.props.a)",
+  njs_str("$r.props.a"),
+  njs_str("1"),
+  1000 },
+
+{ "external dump (JSON.stringify($r.header))",
+  njs_str("JSON.stringify($r.header)"),
+  njs_str("{\"01\":\"01|АБВ\",\"02\":\"02|АБВ\",\"03\":\"03|АБВ\"}"),
+  1000 },
+
+{ "external method ($r.some_method('YES'))",
+  njs_str("$r.some_method('YES')"),
+  njs_str("АБВ"),
+  1000 },
 };
 
 
___
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel