Added the Speed Test Suite. Can be made by doing 'make speed'.
This commit is contained in:
parent
e290083c35
commit
73ab36b8f8
19
Makefile
19
Makefile
|
@ -5,6 +5,7 @@ PREFIX = .
|
||||||
DOCS_DIR = ${PREFIX}/docs
|
DOCS_DIR = ${PREFIX}/docs
|
||||||
TEST_DIR = ${PREFIX}/test
|
TEST_DIR = ${PREFIX}/test
|
||||||
DIST_DIR = ${PREFIX}/dist
|
DIST_DIR = ${PREFIX}/dist
|
||||||
|
SPEED_DIR = ${PREFIX}/speed
|
||||||
PLUG_DIR = ../plugins
|
PLUG_DIR = ../plugins
|
||||||
|
|
||||||
BASE_FILES = ${SRC_DIR}/jquery/jquery.js\
|
BASE_FILES = ${SRC_DIR}/jquery/jquery.js\
|
||||||
|
@ -148,6 +149,21 @@ docs: ${JQ}
|
||||||
@@echo "Documentation Built"
|
@@echo "Documentation Built"
|
||||||
@@echo
|
@@echo
|
||||||
|
|
||||||
|
speed: ${JQ}
|
||||||
|
@@echo "Building Speed Test Suite"
|
||||||
|
|
||||||
|
@@echo " - Making Speed Test Suite Directory:" ${SPEED_DIR}
|
||||||
|
@@mkdir -p ${SPEED_DIR}
|
||||||
|
|
||||||
|
@@echo " - Copying over script files."
|
||||||
|
@@cp -f ${BUILD_DIR}/speed/index.html ${SPEED_DIR}
|
||||||
|
@@cp -f ${BUILD_DIR}/speed/benchmarker.css ${SPEED_DIR}
|
||||||
|
@@cp -f ${BUILD_DIR}/speed/benchmarker.js ${SPEED_DIR}
|
||||||
|
@@cp -f ${BUILD_DIR}/speed/jquery-1.1.2.js ${SPEED_DIR}
|
||||||
|
|
||||||
|
@@echo "Speed Test Suite Built"
|
||||||
|
@@echo
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@@echo "Removing Distribution directory:" ${DIST_DIR}
|
@@echo "Removing Distribution directory:" ${DIST_DIR}
|
||||||
@@rm -rf ${DIST_DIR}
|
@@rm -rf ${DIST_DIR}
|
||||||
|
@ -157,3 +173,6 @@ clean:
|
||||||
|
|
||||||
@@echo "Removing Documentation directory:" ${DOCS_DIR}
|
@@echo "Removing Documentation directory:" ${DOCS_DIR}
|
||||||
@@rm -rf ${DOCS_DIR}
|
@@rm -rf ${DOCS_DIR}
|
||||||
|
|
||||||
|
@@echo "Removing Speed Test Suite directory:" ${SPEED_DIR}
|
||||||
|
@@rm -rf ${SPEED_DIR}
|
||||||
|
|
65
build/speed/benchmarker.css
Executable file
65
build/speed/benchmarker.css
Executable file
|
@ -0,0 +1,65 @@
|
||||||
|
|
||||||
|
.dialog {
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
a.expand {
|
||||||
|
background: #e3e3e3;
|
||||||
|
}
|
||||||
|
|
||||||
|
div#time-test {
|
||||||
|
font-family: Arial, Helvetica, sans-serif;
|
||||||
|
font-size: 62.5%;
|
||||||
|
}
|
||||||
|
|
||||||
|
td.test button {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
border: 1px solid #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
table td, table th {
|
||||||
|
border: 1px solid #000;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
td.winner {
|
||||||
|
background-color: #cfc;
|
||||||
|
}
|
||||||
|
|
||||||
|
td.tie {
|
||||||
|
background-color: #ffc;
|
||||||
|
}
|
||||||
|
|
||||||
|
td.fail {
|
||||||
|
background-color: #f99;
|
||||||
|
font-weight: bold;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
tfoot td {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
#time-test {
|
||||||
|
margin: 1em 0;
|
||||||
|
padding: .5em;
|
||||||
|
background: #e3e3e3;
|
||||||
|
}
|
||||||
|
#time-taken {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.wins {
|
||||||
|
color: #330;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.fails {
|
||||||
|
color: #900;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.buttons {
|
||||||
|
margin-top: 10px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
159
build/speed/benchmarker.js
Executable file
159
build/speed/benchmarker.js
Executable file
|
@ -0,0 +1,159 @@
|
||||||
|
jQuery.benchmarker.tests = [
|
||||||
|
"*",
|
||||||
|
"body", "body div", "div",
|
||||||
|
"div div div", "div div", ".dialog", "div.dialog", "div .dialog",
|
||||||
|
"#speech5", "div#speech5", "div #speech5", "div > div", "div.scene div.dialog",
|
||||||
|
"div#scene1.scene div.dialog div", "#scene1 #speech1", "body > div.dialog div#speech5",
|
||||||
|
"div:nth-child(even)", "div:nth-child(odd)",
|
||||||
|
"div:nth-child(1)", "div:nth-child(2n)",
|
||||||
|
"div:nth-child(2n+3)", "div:first-child",
|
||||||
|
"div:last-child", "div:only-child",
|
||||||
|
"div:contains(CELIA)",
|
||||||
|
"div ~ div", "div + div",
|
||||||
|
"div[@class]", "div[@class=dialog]", "div[@class!=dialog]",
|
||||||
|
"div[@class^=dialog]", "div[@class$=dialog]", "div[@class*=dialog]"
|
||||||
|
]
|
||||||
|
|
||||||
|
jQuery.fn.benchmark = function() {
|
||||||
|
this.each(function() {
|
||||||
|
try {
|
||||||
|
jQuery(this).parent().children("*:gt(1)").remove();
|
||||||
|
} catch(e) { }
|
||||||
|
})
|
||||||
|
var times = 5;
|
||||||
|
jQuery("#times").html(times);
|
||||||
|
jQuery.benchmarker.startingList = this.get();
|
||||||
|
benchmark(this.get(), times, jQuery.benchmarker.libraries);
|
||||||
|
}
|
||||||
|
|
||||||
|
jQuery(function() {
|
||||||
|
for(i = 0; i < jQuery.benchmarker.tests.length; i++) {
|
||||||
|
jQuery("tbody").append("<tr><td class='test'>" + jQuery.benchmarker.tests[i] + "</td></tr>");
|
||||||
|
}
|
||||||
|
jQuery("tbody tr:first-child").remove();
|
||||||
|
jQuery("td.test").before("<td><input type='checkbox' checked='checked' /></td>");
|
||||||
|
jQuery("button.runTests").bind("click", function() {
|
||||||
|
jQuery('td[input:checked] + td.test').benchmark();
|
||||||
|
});
|
||||||
|
|
||||||
|
jQuery("button.retryTies").bind("click", function() { jQuery("tr[td.tie] td.test").benchmark() })
|
||||||
|
|
||||||
|
jQuery("button.selectAll").bind("click", function() { jQuery("input[@type=checkbox]").each(function() { this.checked = true }) })
|
||||||
|
jQuery("button.deselectAll").bind("click", function() { jQuery("input[@type=checkbox]").each(function() { this.checked = false }) })
|
||||||
|
|
||||||
|
jQuery("#addTest").bind("click", function() {
|
||||||
|
jQuery("table").append("<tr><td><input type='checkbox' /></td><td><input type='text' /><button>Add</button></td></tr>");
|
||||||
|
jQuery("div#time-test > button").each(function() { this.disabled = true; })
|
||||||
|
jQuery("tbody tr:last button").bind("click", function() {
|
||||||
|
var td = jQuery(this).parent();
|
||||||
|
td.html("<button>-</button>" + jQuery(this).prev().val()).addClass("test");
|
||||||
|
jQuery("div#time-test > button").each(function() { this.disabled = false; })
|
||||||
|
jQuery("button", td).bind("click", function() { jQuery(this).parents("tr").remove(); })
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
var headers = jQuery.map(jQuery.benchmarker.libraries, function(i) {
|
||||||
|
return "<th>" + i + "</th>"
|
||||||
|
}).join("");
|
||||||
|
|
||||||
|
jQuery("thead tr").append(headers);
|
||||||
|
|
||||||
|
var footers = "";
|
||||||
|
for(i = 0; i < jQuery.benchmarker.libraries.length; i++)
|
||||||
|
footers += "<th></th>"
|
||||||
|
|
||||||
|
var wlfooters = "";
|
||||||
|
for(i = 0; i < jQuery.benchmarker.libraries.length; i++)
|
||||||
|
wlfooters += "<td><span class='wins'>W</span> / <span class='fails'>F</span></th>"
|
||||||
|
|
||||||
|
jQuery("tfoot tr:first").append(footers);
|
||||||
|
jQuery("tfoot tr:last").append(wlfooters);
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
benchmark = function(list, times, libraries) {
|
||||||
|
if(list[0]) {
|
||||||
|
var times = times || 50;
|
||||||
|
var el = list[0];
|
||||||
|
var code = jQuery(el).text().replace(/^-/, "");
|
||||||
|
if(!libraries[0].match(/^jQ/)) {
|
||||||
|
code = code.replace(/@/, "");
|
||||||
|
}
|
||||||
|
var timeArr = []
|
||||||
|
for(i = 0; i < times + 2; i++) {
|
||||||
|
var time = new Date()
|
||||||
|
try {
|
||||||
|
window[libraries[0]](code);
|
||||||
|
} catch(e) { }
|
||||||
|
timeArr.push(new Date() - time);
|
||||||
|
}
|
||||||
|
var diff = Math.sum(timeArr) - Math.max.apply( Math, timeArr )
|
||||||
|
- Math.min.apply( Math, timeArr );
|
||||||
|
try {
|
||||||
|
var libRes = window[libraries[0]](code);
|
||||||
|
var jqRes = jQuery(code);
|
||||||
|
if(((jqRes.length == 0) && (libRes.length != 0)) ||
|
||||||
|
(libRes.length > 0 && (jqRes.length == libRes.length)) ||
|
||||||
|
((libraries[0] == "cssQuery" || libraries[0] == "jQuery") && code.match(/nth\-child/) && (libRes.length > 0)) ||
|
||||||
|
((libraries[0] == "jQold") && jqRes.length > 0)) {
|
||||||
|
jQuery(el).parent().append("<td>" + Math.round(diff / times * 100) / 100 + "ms</td>");
|
||||||
|
} else {
|
||||||
|
jQuery(el).parent().append("<td class='fail'>FAIL</td>");
|
||||||
|
}
|
||||||
|
} catch(e) {
|
||||||
|
jQuery(el).parent().append("<td class='fail'>FAIL</td>");
|
||||||
|
}
|
||||||
|
setTimeout(benchmarkList(list, times, libraries), 100);
|
||||||
|
} else if(libraries[1]) {
|
||||||
|
benchmark(jQuery.benchmarker.startingList, times, libraries.slice(1));
|
||||||
|
} else {
|
||||||
|
jQuery("tbody tr").each(function() {
|
||||||
|
var winners = jQuery("td:gt(1)", this).min(2);
|
||||||
|
if(winners.length == 1) winners.addClass("winner");
|
||||||
|
else winners.addClass("tie");
|
||||||
|
});
|
||||||
|
setTimeout(count, 100);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function benchmarkList(list, times, libraries) {
|
||||||
|
return function() {
|
||||||
|
benchmark(list.slice(1), times, libraries);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function count() {
|
||||||
|
for(i = 3; i <= jQuery.benchmarker.libraries.length + 2 ; i++) {
|
||||||
|
var fails = jQuery("td:nth-child(" + i + ").fail").length;
|
||||||
|
var wins = jQuery("td:nth-child(" + i + ").winner").length;
|
||||||
|
jQuery("tfoot tr:first th:eq(" + (i - 1) + ")")
|
||||||
|
.html("<span class='wins'>" + wins + "</span> / <span class='fails'>" + fails + "</span>");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
jQuery.fn.maxmin = function(tolerance, maxmin, percentage) {
|
||||||
|
tolerance = tolerance || 0;
|
||||||
|
var target = Math[maxmin].apply(Math, jQuery.map(this, function(i) {
|
||||||
|
var parsedNum = parseFloat(i.innerHTML.replace(/[^\.\d]/g, ""));
|
||||||
|
if(parsedNum || (parsedNum == 0)) return parsedNum;
|
||||||
|
}));
|
||||||
|
return this.filter(function() {
|
||||||
|
if( withinTolerance(parseFloat(this.innerHTML.replace(/[^\.\d]/g, "")), target, tolerance, percentage) ) return true;
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
jQuery.fn.max = function(tolerance, percentage) { return this.maxmin(tolerance, "max", percentage) }
|
||||||
|
jQuery.fn.min = function(tolerance, percentage) { return this.maxmin(tolerance, "min", percentage) }
|
||||||
|
|
||||||
|
function withinTolerance(number, target, tolerance, percentage) {
|
||||||
|
if(percentage) { var high = target + ((tolerance / 100) * target); var low = target - ((tolerance / 100) * target); }
|
||||||
|
else { var high = target + tolerance; var low = target - tolerance; }
|
||||||
|
if(number >= low && number <= high) return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
Math.sum = function(arr) {
|
||||||
|
var sum = 0;
|
||||||
|
for(i = 0; i < arr.length; i++) sum += arr[i];
|
||||||
|
return sum;
|
||||||
|
}
|
510
build/speed/index.html
Executable file
510
build/speed/index.html
Executable file
|
@ -0,0 +1,510 @@
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||||
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" debug="true">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||||
|
<title>Speed Test</title>
|
||||||
|
<script src="../dist/jquery.js" type="text/javascript"></script>
|
||||||
|
<script src="jquery-1.1.2.js" type="text/javascript"></script>
|
||||||
|
<link rel="stylesheet" href="benchmarker.css" type="text/css" media="screen" />
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1>Speed Test</h1>
|
||||||
|
<div id="badid"></div>
|
||||||
|
<div id="time-test">
|
||||||
|
<p>Using the following selector expressions (<span id="times">5</span> times each):</p>
|
||||||
|
<p>NOTE: Number shown is an average.</p>
|
||||||
|
<div class="buttons">
|
||||||
|
<button class="selectAll">Select All</button>
|
||||||
|
<button class="deselectAll">Deselect All</button>
|
||||||
|
|
||||||
|
<button class="runTests">Run Tests</button>
|
||||||
|
<button class="retryTies">Retry Ties</button>
|
||||||
|
</div>
|
||||||
|
<table cellspacing="0">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Run?</th>
|
||||||
|
<th>Test</th>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tfoot>
|
||||||
|
<tr>
|
||||||
|
<th></th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th></th>
|
||||||
|
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
</tfoot>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<div class="buttons">
|
||||||
|
<button class="selectAll">Select All</button>
|
||||||
|
<button class="deselectAll">Deselect All</button>
|
||||||
|
<button class="runTests">Run Tests</button>
|
||||||
|
<button class="retryTies">Retry Ties</button>
|
||||||
|
<button id="addTest">+</button>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="dialog">
|
||||||
|
<h2>As You Like It</h2>
|
||||||
|
<div id="playwright">
|
||||||
|
by William Shakespeare
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="dialog scene" id="scene1">
|
||||||
|
<h3>ACT I, SCENE III. A room in the palace.</h3>
|
||||||
|
<div class="dialog">
|
||||||
|
<div class="direction">Enter CELIA and ROSALIND</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech1" class="character">CELIA</div>
|
||||||
|
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.1">Why, cousin! why, Rosalind! Cupid have mercy! not a word?</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech2" class="character">ROSALIND</div>
|
||||||
|
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.2">Not one to throw at a dog.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech3" class="character">CELIA</div>
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.3">No, thy words are too precious to be cast away upon</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.4">curs; throw some of them at me; come, lame me with reasons.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech4" class="character">ROSALIND</div>
|
||||||
|
|
||||||
|
<div id="speech5" class="character">CELIA</div>
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.8">But is all this for your father?</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.5">Then there were two cousins laid up; when the one</div>
|
||||||
|
<div id="scene1.3.6">should be lamed with reasons and the other mad</div>
|
||||||
|
<div id="scene1.3.7">without any.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech6" class="character">ROSALIND</div>
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.9">No, some of it is for my child's father. O, how</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.10">full of briers is this working-day world!</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech7" class="character">CELIA</div>
|
||||||
|
|
||||||
|
<div class="dialog">
|
||||||
|
|
||||||
|
<div id="scene1.3.11">They are but burs, cousin, thrown upon thee in</div>
|
||||||
|
<div id="scene1.3.12">holiday foolery: if we walk not in the trodden</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.13">paths our very petticoats will catch them.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech8" class="character">ROSALIND</div>
|
||||||
|
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.14">I could shake them off my coat: these burs are in my heart.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech9" class="character">CELIA</div>
|
||||||
|
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.15">Hem them away.</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech10" class="character">ROSALIND</div>
|
||||||
|
<div class="dialog">
|
||||||
|
|
||||||
|
<div id="scene1.3.16">I would try, if I could cry 'hem' and have him.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech11" class="character">CELIA</div>
|
||||||
|
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.17">Come, come, wrestle with thy affections.</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech12" class="character">ROSALIND</div>
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.18">O, they take the part of a better wrestler than myself!</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech13" class="character">CELIA</div>
|
||||||
|
<div class="dialog">
|
||||||
|
|
||||||
|
<div id="scene1.3.19">O, a good wish upon you! you will try in time, in</div>
|
||||||
|
<div id="scene1.3.20">despite of a fall. But, turning these jests out of</div>
|
||||||
|
<div id="scene1.3.21">service, let us talk in good earnest: is it</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.22">possible, on such a sudden, you should fall into so</div>
|
||||||
|
<div id="scene1.3.23">strong a liking with old Sir Rowland's youngest son?</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech14" class="character">ROSALIND</div>
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.24">The duke my father loved his father dearly.</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech15" class="character">CELIA</div>
|
||||||
|
<div class="dialog">
|
||||||
|
|
||||||
|
<div id="scene1.3.25">Doth it therefore ensue that you should love his son</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.26">dearly? By this kind of chase, I should hate him,</div>
|
||||||
|
<div id="scene1.3.27">for my father hated his father dearly; yet I hate</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.28">not Orlando.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech16" class="character">ROSALIND</div>
|
||||||
|
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.29">No, faith, hate him not, for my sake.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech17" class="character">CELIA</div>
|
||||||
|
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.30">Why should I not? doth he not deserve well?</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech18" class="character">ROSALIND</div>
|
||||||
|
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.31">Let me love him for that, and do you love him</div>
|
||||||
|
<div id="scene1.3.32">because I do. Look, here comes the duke.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech19" class="character">CELIA</div>
|
||||||
|
<div class="dialog">
|
||||||
|
|
||||||
|
<div id="scene1.3.33">With his eyes full of anger.</div>
|
||||||
|
<div class="direction">Enter DUKE FREDERICK, with Lords</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech20" class="character">DUKE FREDERICK</div>
|
||||||
|
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.34">Mistress, dispatch you with your safest haste</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.35">And get you from our court.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech21" class="character">ROSALIND</div>
|
||||||
|
|
||||||
|
<div class="dialog">
|
||||||
|
|
||||||
|
<div id="scene1.3.36">Me, uncle?</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech22" class="character">DUKE FREDERICK</div>
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.37">You, cousin</div>
|
||||||
|
<div id="scene1.3.38">Within these ten days if that thou be'st found</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.39">So near our public court as twenty miles,</div>
|
||||||
|
<div id="scene1.3.40">Thou diest for it.</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech23" class="character">ROSALIND</div>
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.41"> I do beseech your grace,</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.42">Let me the knowledge of my fault bear with me:</div>
|
||||||
|
<div id="scene1.3.43">If with myself I hold intelligence</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.44">Or have acquaintance with mine own desires,</div>
|
||||||
|
<div id="scene1.3.45">If that I do not dream or be not frantic,--</div>
|
||||||
|
<div id="scene1.3.46">As I do trust I am not--then, dear uncle,</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.47">Never so much as in a thought unborn</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.48">Did I offend your highness.</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech24" class="character">DUKE FREDERICK</div>
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.49">Thus do all traitors:</div>
|
||||||
|
<div id="scene1.3.50">If their purgation did consist in words,</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.51">They are as innocent as grace itself:</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.52">Let it suffice thee that I trust thee not.</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech25" class="character">ROSALIND</div>
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.53">Yet your mistrust cannot make me a traitor:</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.54">Tell me whereon the likelihood depends.</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech26" class="character">DUKE FREDERICK</div>
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.55">Thou art thy father's daughter; there's enough.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech27" class="character">ROSALIND</div>
|
||||||
|
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.56">So was I when your highness took his dukedom;</div>
|
||||||
|
<div id="scene1.3.57">So was I when your highness banish'd him:</div>
|
||||||
|
<div id="scene1.3.58">Treason is not inherited, my lord;</div>
|
||||||
|
<div id="scene1.3.59">Or, if we did derive it from our friends,</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.60">What's that to me? my father was no traitor:</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.61">Then, good my liege, mistake me not so much</div>
|
||||||
|
<div id="scene1.3.62">To think my poverty is treacherous.</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech28" class="character">CELIA</div>
|
||||||
|
<div class="dialog">
|
||||||
|
|
||||||
|
<div id="scene1.3.63">Dear sovereign, hear me speak.</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech29" class="character">DUKE FREDERICK</div>
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.64">Ay, Celia; we stay'd her for your sake,</div>
|
||||||
|
<div id="scene1.3.65">Else had she with her father ranged along.</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech30" class="character">CELIA</div>
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.66">I did not then entreat to have her stay;</div>
|
||||||
|
<div id="scene1.3.67">It was your pleasure and your own remorse:</div>
|
||||||
|
<div id="scene1.3.68">I was too young that time to value her;</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.69">But now I know her: if she be a traitor,</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.70">Why so am I; we still have slept together,</div>
|
||||||
|
<div id="scene1.3.71">Rose at an instant, learn'd, play'd, eat together,</div>
|
||||||
|
<div id="scene1.3.72">And wheresoever we went, like Juno's swans,</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.73">Still we went coupled and inseparable.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech31" class="character">DUKE FREDERICK</div>
|
||||||
|
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.74">She is too subtle for thee; and her smoothness,</div>
|
||||||
|
<div id="scene1.3.75">Her very silence and her patience</div>
|
||||||
|
<div id="scene1.3.76">Speak to the people, and they pity her.</div>
|
||||||
|
<div id="scene1.3.77">Thou art a fool: she robs thee of thy name;</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.78">And thou wilt show more bright and seem more virtuous</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.79">When she is gone. Then open not thy lips:</div>
|
||||||
|
<div id="scene1.3.80">Firm and irrevocable is my doom</div>
|
||||||
|
<div id="scene1.3.81">Which I have pass'd upon her; she is banish'd.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech32" class="character">CELIA</div>
|
||||||
|
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.82">Pronounce that sentence then on me, my liege:</div>
|
||||||
|
<div id="scene1.3.83">I cannot live out of her company.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech33" class="character">DUKE FREDERICK</div>
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.84">You are a fool. You, niece, provide yourself:</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.85">If you outstay the time, upon mine honour,</div>
|
||||||
|
<div id="scene1.3.86">And in the greatness of my word, you die.</div>
|
||||||
|
<div class="direction">Exeunt DUKE FREDERICK and Lords</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech34" class="character">CELIA</div>
|
||||||
|
<div class="dialog">
|
||||||
|
|
||||||
|
<div id="scene1.3.87">O my poor Rosalind, whither wilt thou go?</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.88">Wilt thou change fathers? I will give thee mine.</div>
|
||||||
|
<div id="scene1.3.89">I charge thee, be not thou more grieved than I am.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech35" class="character">ROSALIND</div>
|
||||||
|
|
||||||
|
<div class="dialog">
|
||||||
|
|
||||||
|
<div id="scene1.3.90">I have more cause.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech36" class="character">CELIA</div>
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.91"> Thou hast not, cousin;</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.92">Prithee be cheerful: know'st thou not, the duke</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.93">Hath banish'd me, his daughter?</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech37" class="character">ROSALIND</div>
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.94">That he hath not.</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech38" class="character">CELIA</div>
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.95">No, hath not? Rosalind lacks then the love</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.96">Which teacheth thee that thou and I am one:</div>
|
||||||
|
<div id="scene1.3.97">Shall we be sunder'd? shall we part, sweet girl?</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.98">No: let my father seek another heir.</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.99">Therefore devise with me how we may fly,</div>
|
||||||
|
<div id="scene1.3.100">Whither to go and what to bear with us;</div>
|
||||||
|
<div id="scene1.3.101">And do not seek to take your change upon you,</div>
|
||||||
|
<div id="scene1.3.102">To bear your griefs yourself and leave me out;</div>
|
||||||
|
<div id="scene1.3.103">For, by this heaven, now at our sorrows pale,</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.104">Say what thou canst, I'll go along with thee.</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech39" class="character">ROSALIND</div>
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.105">Why, whither shall we go?</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech40" class="character">CELIA</div>
|
||||||
|
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.106">To seek my uncle in the forest of Arden.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech41" class="character">ROSALIND</div>
|
||||||
|
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.107">Alas, what danger will it be to us,</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.108">Maids as we are, to travel forth so far!</div>
|
||||||
|
<div id="scene1.3.109">Beauty provoketh thieves sooner than gold.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech42" class="character">CELIA</div>
|
||||||
|
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.110">I'll put myself in poor and mean attire</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.111">And with a kind of umber smirch my face;</div>
|
||||||
|
<div id="scene1.3.112">The like do you: so shall we pass along</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.113">And never stir assailants.</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech43" class="character">ROSALIND</div>
|
||||||
|
<div class="dialog">
|
||||||
|
|
||||||
|
<div id="scene1.3.114">Were it not better,</div>
|
||||||
|
<div id="scene1.3.115">Because that I am more than common tall,</div>
|
||||||
|
<div id="scene1.3.116">That I did suit me all points like a man?</div>
|
||||||
|
<div id="scene1.3.117">A gallant curtle-axe upon my thigh,</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.118">A boar-spear in my hand; and--in my heart</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.119">Lie there what hidden woman's fear there will--</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.120">We'll have a swashing and a martial outside,</div>
|
||||||
|
<div id="scene1.3.121">As many other mannish cowards have</div>
|
||||||
|
<div id="scene1.3.122">That do outface it with their semblances.</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech44" class="character">CELIA</div>
|
||||||
|
<div class="dialog">
|
||||||
|
|
||||||
|
<div id="scene1.3.123">What shall I call thee when thou art a man?</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech45" class="character">ROSALIND</div>
|
||||||
|
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.124">I'll have no worse a name than Jove's own page;</div>
|
||||||
|
<div id="scene1.3.125">And therefore look you call me Ganymede.</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.126">But what will you be call'd?</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech46" class="character">CELIA</div>
|
||||||
|
|
||||||
|
<div class="dialog">
|
||||||
|
<div id="scene1.3.127">Something that hath a reference to my state</div>
|
||||||
|
<div id="scene1.3.128">No longer Celia, but Aliena.</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech47" class="character">ROSALIND</div>
|
||||||
|
<div class="dialog">
|
||||||
|
|
||||||
|
<div id="scene1.3.129">But, cousin, what if we assay'd to steal</div>
|
||||||
|
<div id="scene1.3.130">The clownish fool out of your father's court?</div>
|
||||||
|
<div id="scene1.3.131">Would he not be a comfort to our travel?</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="speech48" class="character">CELIA</div>
|
||||||
|
<div class="dialog">
|
||||||
|
|
||||||
|
<div id="scene1.3.132">He'll go along o'er the wide world with me;</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.133">Leave me alone to woo him. Let's away,</div>
|
||||||
|
<div id="scene1.3.134">And get our jewels and our wealth together,</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.135">Devise the fittest time and safest way</div>
|
||||||
|
<div id="scene1.3.136">To hide us from pursuit that will be made</div>
|
||||||
|
|
||||||
|
<div id="scene1.3.137">After my flight. Now go we in content</div>
|
||||||
|
<div id="scene1.3.138">To liberty and not to banishment.</div>
|
||||||
|
<div class="direction">Exeunt</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script type="text/javascript" charset="utf-8">
|
||||||
|
jQuery.benchmarker = {libraries: ["jQOld", "jQuery"]};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script src="benchmarker.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
2245
build/speed/jquery-1.1.2.js
vendored
Normal file
2245
build/speed/jquery-1.1.2.js
vendored
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue