tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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>