Skip to content
This repository has been archived by the owner on May 12, 2020. It is now read-only.

Commit

Permalink
Isolate document download speed from open speed in benchmark
Browse files Browse the repository at this point in the history
  • Loading branch information
peitschie committed Nov 21, 2013
1 parent 57fcc47 commit 4d1c51f
Show file tree
Hide file tree
Showing 3 changed files with 77 additions and 7 deletions.
12 changes: 7 additions & 5 deletions programs/benchmark/js/HTMLBenchmark.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,17 +39,18 @@
define([
"Benchmark",
"HTMLResultsRenderer",
"LoadDocument",
"OpenDocument",
"EnterEditMode",
"MoveCursorToEndDirect",
"InsertLetterA",
"Remove1Position",
"MoveCursor1StepLeft",
"SelectEntireDocument",
"RemoveCurrentSelection"
"RemoveCurrentSelection",
"PreloadDocument"
], function (Benchmark, HTMLResultsRenderer,
LoadDocument, EnterEditMode, MoveCursorToEndDirect,InsertLetterA, Remove1Position, MoveCursor1StepLeft,
SelectEntireDocument, RemoveCurrentSelection) {
OpenDocument, EnterEditMode, MoveCursorToEndDirect,InsertLetterA, Remove1Position, MoveCursor1StepLeft,
SelectEntireDocument, RemoveCurrentSelection, PreloadDocument) {
"use strict";

/**
Expand All @@ -64,7 +65,8 @@ define([

loadingScreen.style.display = "none";

benchmark.actions.push(new LoadDocument(fileUrl));
benchmark.actions.push(new PreloadDocument(fileUrl));
benchmark.actions.push(new OpenDocument(fileUrl));
benchmark.actions.push(new EnterEditMode());
// TODO currently times out
// benchmark.addAction(new MoveCursorToEndViaCtrlEnd());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ define(["BenchmarkAction"], function(BenchmarkAction) {
* @param {!string} docUrl
* @constructor
*/
function LoadDocument(docUrl) {
function OpenDocument(docUrl) {
var state = {description: "Open document " + docUrl},
action = new BenchmarkAction(state);

Expand All @@ -65,5 +65,5 @@ define(["BenchmarkAction"], function(BenchmarkAction) {
};
}

return LoadDocument;
return OpenDocument;
});
68 changes: 68 additions & 0 deletions programs/benchmark/js/PreloadDocument.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
/**
* @license
* Copyright (C) 2013 KO GmbH <copyright@kogmbh.com>
*
* @licstart
* The JavaScript code in this page is free software: you can redistribute it
* and/or modify it under the terms of the GNU Affero General Public License
* (GNU AGPL) as published by the Free Software Foundation, either version 3 of
* the License, or (at your option) any later version. The code is distributed
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU AGPL for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this code. If not, see <http://www.gnu.org/licenses/>.
*
* As additional permission under GNU AGPL version 3 section 7, you
* may distribute non-source (e.g., minimized or compacted) forms of
* that code without the copy of the GNU GPL normally required by
* section 4, provided you include this license notice and a URL
* through which recipients can access the Corresponding Source.
*
* As a special exception to the AGPL, any HTML file which merely makes function
* calls to this code, and for that purpose includes it by reference shall be
* deemed a separate work for copyright law purposes. In addition, the copyright
* holders of this code give you permission to combine this code with free
* software libraries that are released under the GNU LGPL. You may copy and
* distribute such a system following the terms of the GNU AGPL for this code
* and the LGPL for the libraries. If you modify this code, you may extend this
* exception to your version of the code, but you are not obligated to do so.
* If you do not wish to do so, delete this exception statement from your
* version.
*
* This license applies to this entire compilation.
* @licend
* @source: http://www.webodf.org/
* @source: https://github.com/kogmbh/WebODF/
*/

define(["BenchmarkAction"], function(BenchmarkAction) {
"use strict";

/**
* Fetch the specified document from the remote location and cache in the runtime
* @param {!string} docUrl
* @constructor
*/
function DownloadDocument(docUrl) {
var state = {description: "Download document " + docUrl},
action = new BenchmarkAction(state);

function onDocumentDownloaded() {
action.complete(true);
}

this.subscribe = action.subscribe;
this.state = state;

/**
* @param {!SharedState} sharedState
*/
this.start = function(sharedState) {
action.start();
runtime.readFile(docUrl, 'binary', onDocumentDownloaded);
};
}

return DownloadDocument;
});

0 comments on commit 4d1c51f

Please sign in to comment.