Created
March 29, 2019 09:22
-
-
Save robinrodricks/ecaf53e95e9584225ab039e93b45746d to your computer and use it in GitHub Desktop.
AS3 startsWith/endsWith Speedtest
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package | |
{ | |
import flash.display.Sprite; | |
/** | |
* ... | |
* @author Test | |
*/ | |
public class Main extends Sprite | |
{ | |
public function Main() | |
{ | |
var s:String = "HELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLO"; | |
var p:String = "HE"; | |
var t:Number = new Date().getTime(); | |
for(i=0;i<100000;i++){ | |
if (s.substring(0, 2) == p){ | |
} | |
} | |
trace('startsWith using Substring : ' + (new Date().getTime() - t) + " ms") | |
var t:Number = new Date().getTime(); | |
for(i=0;i<100000;i++){ | |
if (s.lastIndexOf(p, 0) == 0){ | |
} | |
} | |
trace('startsWith using LastIndexOf : ' + (new Date().getTime() - t) + " ms") | |
var t:Number = new Date().getTime(); | |
for(i=0;i<100000;i++){ | |
var elen:int = p.length; | |
var slen:int = s.length; | |
if (slen >= elen && s.substr(slen - elen, elen) == p){ | |
} | |
} | |
trace('endsWith using Substring : ' + (new Date().getTime() - t) + " ms") | |
var t:Number = new Date().getTime(); | |
for(i=0;i<100000;i++){ | |
var elen:int = p.length; | |
var slen:int = s.length; | |
if (s.indexOf(p, (slen - elen)) == (slen - elen)){ | |
} | |
} | |
trace('endsWith using IndexOf : ' + (new Date().getTime() - t) + " ms") | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment