Skip to content

Instantly share code, notes, and snippets.

@robinrodricks
Created March 29, 2019 09:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save robinrodricks/ecaf53e95e9584225ab039e93b45746d to your computer and use it in GitHub Desktop.
Save robinrodricks/ecaf53e95e9584225ab039e93b45746d to your computer and use it in GitHub Desktop.
AS3 startsWith/endsWith Speedtest
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