12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- <!DOCTYPE html>
- <html>
- <!--
- Copyright 2009 The Closure Library Authors. All Rights Reserved.
- Use of this source code is governed by the Apache License, Version 2.0.
- See the COPYING file for details.
- -->
- <!--
- -->
- <head>
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <title>Closure Performance Tests - UTF8 encoding and decoding</title>
- <link rel="stylesheet" type="text/css"
- href="../testing/performancetable.css"/>
- <script src="../base.js"></script>
- <script>
- goog.require('goog.crypt');
- goog.require('goog.string');
- goog.require('goog.testing.PerformanceTable');
- goog.require('goog.testing.jsunit');
- </script>
- </head>
- <body>
- <h1>Closure Performance Tests - UTF8 encoding and decoding</h1>
- <p>
- <strong>User-agent:</strong>
- <script>document.write(navigator.userAgent);</script>
- </p>
- <div id="perfTable"></div>
- <hr>
- <script>
- var table = new goog.testing.PerformanceTable(
- goog.dom.getElement('perfTable'));
- var STRING_LENGTH = 100000;
- function testDecodeAscii() {
- var arr = [];
- for (var i = 0; i < STRING_LENGTH; i++) {
- arr.push(120);
- }
- table.run(goog.partial(goog.crypt.utf8ByteArrayToString, arr),
- 'Decode UTF8 byte array with ASCII characters (1 byte / character)');
- }
- function testDecodeLatin() {
- var arr = [];
- for (var i = 0; i < STRING_LENGTH; i++) {
- arr.push(195, 182);
- }
- table.run(goog.partial(goog.crypt.utf8ByteArrayToString, arr),
- 'Decode UTF8 byte array with Latin characters (2 bytes / character)');
- }
- function testDecodeLeftArrow() {
- var arr = [];
- for (var i = 0; i < STRING_LENGTH; i++) {
- arr.push(226, 134, 144);
- }
- table.run(goog.partial(goog.crypt.utf8ByteArrayToString, arr),
- 'Decode UTF8 byte array with left arrows (3 bytes / character)');
- }
- function testEncodeAscii() {
- var str = goog.string.repeat('x', STRING_LENGTH);
- table.run(goog.partial(goog.crypt.stringToUtf8ByteArray, str),
- 'Encode ASCII string (1 byte / character)');
- }
- function testEncodeLatin() {
- var str = goog.string.repeat('\u00F6', STRING_LENGTH);
- table.run(goog.partial(goog.crypt.stringToUtf8ByteArray, str),
- 'Encode Latin string (2 bytes / character)');
- }
- function testEncodeLeftArrow() {
- var str = goog.string.repeat('\u2190', STRING_LENGTH);
- table.run(goog.partial(goog.crypt.stringToUtf8ByteArray, str),
- 'Encode left arrows (3 bytes / character)');
- }
- </script>
- </body>
- </html>
|