浏览代码

Specialize Rule2Literal->equals(Rule2Literal) for speedup

Markus Staab 6 年之前
父节点
当前提交
7a4937bbcc
共有 1 个文件被更改,包括 13 次插入0 次删除
  1. 13 0
      src/Composer/DependencyResolver/Rule2Literals.php

+ 13 - 0
src/Composer/DependencyResolver/Rule2Literals.php

@@ -65,6 +65,19 @@ class Rule2Literals extends Rule
      */
     public function equals(Rule $rule)
     {
+        // specialized fast-case
+        if ($rule instanceof self) {
+            if ($this->literal1 !== $rule->literal1) {
+                return false;
+            }
+
+            if ($this->literal2 !== $rule->literal2) {
+                return false;
+            }
+
+            return true;
+        }
+
         $literals = $rule->getLiterals();
         if (2 != count($literals)) {
             return false;