test_url_perf.html (1869B)
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <title>Networking performance test: url parsing</title> 5 </head> 6 <script src="/tests/SimpleTest/SimpleTest.js"></script> 7 <script> 8 9 // this test is just used locally to get an idea of how long url parsing takes 10 "use strict"; 11 12 let runs = 20000; 13 let timeToCreateDataUrl = 0; 14 let timeToCreateDataSlashUrl = 0; 15 let timeToCreateJsUrl = 0; 16 let timeToCreateJsSlashUrl = 0; 17 18 // data scheme 19 add_task(async () => { 20 let before = new Date().getTime(); 21 for (let i = 0; i < runs; i++) { 22 new URL("data:,test" + i); 23 } 24 let after = new Date().getTime(); 25 timeToCreateDataUrl = after - before; 26 dump( 27 "Time to create data url (milliseconds): " + timeToCreateDataUrl + "\n" 28 ); 29 }); 30 31 // data:// 32 add_task(async () => { 33 let before = new Date().getTime(); 34 for (let i = 0; i < runs; i++) { 35 new URL("data://,test" + i); 36 } 37 let after = new Date().getTime(); 38 timeToCreateDataSlashUrl = after - before; 39 dump( 40 "Time to create data // url (milliseconds): " + timeToCreateDataSlashUrl + "\n" 41 ); 42 }); 43 44 // javascript scheme 45 add_task(async () => { 46 let beforeJs = new Date().getTime(); 47 for (let i = 0; i < runs; i++) { 48 new URL("javascript:,test" + i); 49 } 50 let afterJs = new Date().getTime(); 51 timeToCreateJsUrl = afterJs - beforeJs; 52 dump( 53 "Time to create JS url (milliseconds): " + timeToCreateJsUrl + "\n" 54 ); 55 }); 56 57 // javascript:// 58 add_task(async () => { 59 let beforeJs = new Date().getTime(); 60 for (let i = 0; i < runs; i++) { 61 new URL("javascript://,test" + i); 62 } 63 let afterJs = new Date().getTime(); 64 timeToCreateJsSlashUrl = afterJs - beforeJs; 65 dump( 66 "Time to create JS // url (milliseconds): " + timeToCreateJsSlashUrl + "\n" 67 ); 68 }); 69 70 ok("finished"); 71 72 </script> 73 <body> 74 </body> 75 </html>