|  | // Copyright (c) 2014, the Dart project authors.  Please see the AUTHORS file | 
|  | // for details. All rights reserved. Use of this source code is governed by a | 
|  | // BSD-style license that can be found in the LICENSE file. | 
|  | // VMOptions=--optimization_counter_threshold=10 --no-background_compilation | 
|  |  | 
|  | // @dart = 2.9 | 
|  |  | 
|  | import 'package:expect/expect.dart'; | 
|  |  | 
|  | test1(String a, String b) { | 
|  | return a == b; | 
|  | } | 
|  |  | 
|  | var LEN = 500; | 
|  |  | 
|  | var ITER = 100000 / LEN; | 
|  |  | 
|  | measure(fn, a, b) { | 
|  | for (var i = 0; i < ITER; i++) { | 
|  | Expect.equals(true, fn(a, b)); | 
|  | } | 
|  | } | 
|  |  | 
|  | main() { | 
|  | var n = LEN; | 
|  | StringBuffer s = new StringBuffer(); | 
|  | for (var i = 0; i < n; ++i) s.write("A"); | 
|  | String t = s.toString(); | 
|  | String u = s.toString(); | 
|  | String v = s.toString() + "\u1234"; | 
|  | String w = s.toString() + "\u1234"; | 
|  | for (var i = 0; i < 10; i++) measure(test1, t, u); | 
|  | for (var i = 0; i < 10; i++) measure(test1, v, w); | 
|  | } |