jsPerf.app is an online JavaScript performance benchmark test runner & jsperf.com mirror. It is a complete rewrite in homage to the once excellent jsperf.com now with hopefully a more modern & maintainable codebase.
jsperf.com URLs are mirrored at the same path, e.g:
https://jsperf.com/negative-modulo/2
Can be accessed at:
https://jsperf.app/negative-modulo/2
find string
var exp1 = /data\-(keep|omit)/;
var exp2 = /data\-keep|data\-omit/;
var str = '<div id="campaignList"> <div class="content-header"> <h1 class=\'dfa-title\'> {{pageHeader}} </h1> <div class="split-filterbar"> <div data-dfa-paginator="paging" change="fetchListItems(true)" data-ng-disabled="pendingItem"></div> <div data-dfa-filterbar data-ng-disabled="pendingItem"> <ul> <li> <div class="label"><label for="campaignStatus">Status</label></div> <select data-dfa-omnilist data-search-box="false" data-change="fetchListWithStatusFilter()" data-bind-disabled="pendingItem" data-dfa-model="criteria.status" id="campaignStatus"> <option value="0">All</option> <option value="1" selected="selected">Active</option> <option value="2">Archived</option> </select> </li> <li> <div class="label"><label for="campaignAdvertiser">Advertiser</label></div> <select data-dfa-omnilist="advertisers.list();id;name" data-change="fetchListItems()" data-bind-disabled="pendingItem" data-dfa-model="criteria.advertiserIds" id="campaignAdvertiser"> <option value="" selected="selected">All</option> </select> </li> <li> <div class="label"><label for="campaignAdvertiserGroup">Advertiser group</label></div> <select data-dfa-omnilist="advertiserGroups.list();id;name" data-change="fetchListItems()" data-bind-disabled="pendingItem" data-dfa-model="criteria.advertiserGroupIds" id="campaignAdvertiserGroup"> <option value="" selected="selected">All</option> </select> </li> <li> <div class="label"><label for="startDateFrom">Start date range</label></div> <input id="startDateFrom" data-dfa-datepicker data-ng-model="criteria.startDateFrom" data-date-change="fetchListItems()"/> – <input id="startDateTo" data-dfa-datepicker data-ng-model="criteria.startDateTo" data-date-change="fetchListItems()"/> </li> </ul> </div> </div> </div> <table data-dfa-omnigrid="listItems" data-dfa-sort> <caption> <div class="header"> <div class="action-bar"> <div data-dfa-menubutton data-ng-show="app.can(\'editCampaign\')" data-ng-disabled="!selection.selectedCount"> <span>Actions</span> <ul> <li><a data-ddm-click="activateSelectedCampaigns()" data-ng-class="{disabled: !selection.selectedCount}">Set as active</a></li> <li><a data-ddm-click="archiveSelectedCampaigns()" data-ng-class="{disabled: !selection.selectedCount}">Set as archived</a></li> </ul> </div> <a class="button" href="#{{app.basePath}}/campaigns/new" data-ng-show="app.can(\'editCampaign\')" data-ng-disabled="pendingItem">New campaign</a> </div> <div data-dfa-page-notification="list"></div> </div> <div class="no-records-found"> No campaigns found. </div> </caption> <colgroup data-dfa-no-scroll> <col data-dfa-width-px="45"> </colgroup> <colgroup> <col data-dfa-width-px="400" data-dfa-class="name" data-dfa-sort-col="name"> </colgroup> <colgroup> <col data-dfa-width-px="225"> <col data-dfa-width-px="250"> <col data-dfa-width-px="100"> <col data-dfa-width-px="100" data-dfa-sort-col="startDate"> <col data-dfa-width-px="100" data-dfa-sort-col="endDate"> </colgroup> <thead> <tr> <th class="check-col"> <input type="checkbox" data-ng-model="selection.selectAll" data-ng-change="toggleAll(selection.selectAll)" data-ng-disabled="pendingItem"/></th> <th data-dfa-sortable="name" data-dfa-sort="fetchListItems()">Name</th> <th class="status-col">Status</th> <th>Advertiser name (Group)</th> <th>Assets</th> <th data-dfa-sortable="startDate" data-dfa-sort="fetchListItems()">Start date</th> <th data-dfa-sortable="endDate" data-dfa-sort="fetchListItems()">End date</th> </tr> </thead> <tbody> <tr data-ddm-validate data-ddm-validate-item-id="{{item.id}}"> <td class="check-col"> <span data-ng-switch="item == pendingItem"> <span data-ng-switch-when="true" class="dfa-icon dfa-icon-status-loading"></span> <input data-ng-switch-default ng:model="item.selected" type="checkbox" data-ng-disabled="pendingItem" data-ng-change="selectionChanged(item.selected)" /> </span> </td> <td class="name-col"> <a data-ng-href="#{{app.basePath}}/campaigns/{{item.id}}?{{carouselUrlParams($index)}}"> {{item.name}}</a> <span ng:bind="item.id" class="item-id"></span> </td> <td class="status-col"> <div data-dfa-activity-status data-dfa-value-expression="item.archived" data-dfa-is-archived="true" data-dfa-change-expression="updateCampaignStatus(item, item.archived)" data-dfa-omnilist-optgroup="campaignStatusOptGroup" data-dfa-omnilist-header="Campaign status" data-ng-readonly="!app.can(\'editAd\')"> </div> </td> <td> <a data-dfa-gated-href="#{{app.basePath}}/advertisers/{{item.advertiser.id}}"> {{item.advertiser.name}}</a> <span class="item-id" data-ng-show="item.advertiserGroupId"> {{advertiserGroups.valueForKey(item.advertiserGroupId)}}</span> </td> <td class="assets-col"> <a title="View placements" class="dfa-icon-link" data-ng-href="#{{app.basePath}}/campaigns/{{item.id}}/placements?status=1" data-ng-show="app.can(\'viewPlacement\')"> <span class="dfa-icon dfa-icon-placements">View placements</span></a> <a title="View ads" class="dfa-icon-link" data-ng-href="#{{app.basePath}}/campaigns/{{item.id}}/ads?status=1" data-ng-show="app.can(\'viewAd\')"> <span class="dfa-icon dfa-icon-ads">View ads</span></a> <a title="View creatives" class="dfa-icon-link" data-ng- data-keep="b" href="#{{app.basePath}}/advertisers/{{item.advertiser.id}}/campaigns/{{item.id}}/creatives?status=1" data-ng-show="app.can(\'viewCreative\')"> <span class="dfa-icon dfa-icon-creatives">View creatives</span></a> </td> <td> {{item.startDate|date}}</td> <td> {{item.endDate|date}}</td> </tr> </tbody> </table> </div> ';
Ready to run.
Test | Ops/sec | |
---|---|---|
indexOf |
| ready |
Regex 1 |
| ready |
Regex 2 |
| ready |
Regex 1 test |
| ready |
Regex 2 test |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.