From: Dmitry Volyntsev Date: Sat, 18 May 2024 04:54:49 +0000 (-0700) Subject: Optimized string creation with ASCII input. X-Git-Tag: 0.8.5~31 X-Git-Url: http://git.kaiwu.me/sitemap.xml?a=commitdiff_plain;h=de552ba66e2851cbe57f32f7c47a38460290a6d5;p=njs.git Optimized string creation with ASCII input. --- diff --git a/src/njs_string.c b/src/njs_string.c index e7e3893c..2549491a 100644 --- a/src/njs_string.c +++ b/src/njs_string.c @@ -130,8 +130,20 @@ njs_int_t njs_string_create(njs_vm_t *vm, njs_value_t *value, const char *src, size_t size) { + u_char *p, *p_end; njs_str_t str; + p = (u_char *) src; + p_end = p + size; + + while (p < p_end && *p < 0x80) { + p++; + } + + if (p == p_end) { + return njs_string_new(vm, value, (u_char *) src, size, size); + } + str.start = (u_char *) src; str.length = size;