From f605f0b708a328a29dac894b25444c3cfb933f2d Mon Sep 17 00:00:00 2001 From: Sterling Hughes Date: Sun, 29 Jun 2003 01:49:10 +0000 Subject: Very simple, but very effective optimization. Provides a signifigant speed improvement to matches done via '=='. This checks that the lengths of two strings are equal before performing a memcmp() on them. --- Zend/zend_operators.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'Zend/zend_operators.c') diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c index ed63fa47c1..b47ce9fe52 100644 --- a/Zend/zend_operators.c +++ b/Zend/zend_operators.c @@ -1200,7 +1200,11 @@ ZEND_API int compare_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) } if (op1->type == IS_STRING && op2->type == IS_STRING) { - zendi_smart_strcmp(result, op1, op2); + if (op1->value.str.len == op2->value.str.len) { + zendi_smart_strcmp(result, op1, op2); + } else { + ZVAL_LONG(result, 1); + } return SUCCESS; } -- cgit v1.2.1