2008-02-06
* index.html:
added link to changes log
2007-11-05
* benchmark.js:
really compute "performance speed difference" for BOTH sides
* benchmark.js:
force "one at a time" (nATime=1) if (before|after)Test trigger is provided
AND user didn't declare "he knows better" (declaring a value for nATime)
2007-10-21
* t/array-filling.html, t/camelize.html, t/createNElements.html,
t/createOneElement.html, t/domquery.html, t/escapeHTML.html,
t/isin.html, t/jsref.js, t/looping.html, t/loops.html,
t/repeat.html, t/setStyle.html, t/split-fancy.html, t/split.html,
t/strip.html, creator.html:
relative JS (only for "internal" packs)
* index.html:
HTML code fixes
2007-09-05
* benchmark_htmlish.js:
display a "spikes" column when error control is enabled
* benchmark.js, index.html:
compute "best" ASAP (while determining "nATime" value) in order to make
"spike" control behave better
* benchmark.js, benchmark_firebug.js, benchmark_htmlish.js,
benchmark_jsref.js, benchmark_perlish.js, index.html:
- implemented some cheap error control system (spikes filtering);
- "data" is an ad-hoc object (again);
- cumulative behaviour (re-runs will add-up to previous results);
- slight refactoring (backward compatible as much as possible).
* creator_form.html:
"spikes" control
* benchmarker.html:
ToDo update
* t/jsref.js:
some nifty JSRef responders test
2007-09-04
* benchmark.js, benchmark_firebug.js, benchmark_htmlish.js,
benchmark_jsref.js, benchmark_perlish.js:
use Benchmark.toString() everywhere
2007-09-02
* benchmarker.html:
ToDo update
* t/array-filling.html, benchmarker.html:
array populating speed ("push" vs "pre-initialization")
* t/strip.html:
added a "noRE" method - uuuugly
2007-04-21
* benchmark_htmlish.js, style.css, benchmarker.html, index.html,
benchmarker.js:
new feature: allow single method re-run
* benchmark.js, index.html:
new feature: allow single method re-run
* benchmarker.js:
Benchmarker.QRunner: restore hijacked "atEnd" after Benchmark run (fixing "rerun")
2007-04-20
* benchmark_htmlish.js, style.css:
- added "rerun" controller;
- smoother "speed bar" layout;
- added "nATime" column;
- added "noEffects" option;
* benchmark.js, index.html:
allow object reuse: easy re-run using "run" method
* benchmark.js, index.html, t/camelize.html,
t/createOneElement.html, t/isin.html, t/looping.html,
t/loops.html, t/repeat.html, t/split-fancy.html, t/strip.html:
- automatic "best" nATime value setup (OK, I'm sure it's not the best,
but it works.. at least for a first version);
- changed default "nATime" value to 0 (to use automatic detection);
- made "nATime" configurable for each to-be-benchmarked function;
- changed default "iterations" value to -0.2 (longer, but not quite);
- refactorized initial start into a "run" method (prototyping a future
object reuse feature);
- documentation updates.
* benchmark_perlish.js, benchmark_jsref.js:
always use 3 digits precision for best/worst/avg; added "nATime" (x=XXX) to output
* benchmarker.html:
ToDo update
* benchmark_firebug.js:
*always* load it
2007-04-19
* benchmark_jsref.html, benchmark_jsref.js, index.html:
forged a JSRef (SpiderMonkey) responders suite
* index.html:
fixed perlish link
2007-04-02
* benchmark_firebug.html, benchmark_firebug.js, benchmarker.js,
index.html:
Firebug responders suite
* benchmarker.js:
moved Perlish into separate file
* benchmark.js, benchmark_htmlish.html, benchmark_perlish.html,
benchmark_perlish.js, benchmarker.js, index.html,
t/escapeHTML.html, t/setStyle.html, t/split.html:
moved Perlish into separate file
* benchmarker.html, style.css:
docs updates
* benchmarker.js, creator.html, creator_form.html, t/camelize.html,
t/createNElements.html, t/createOneElement.html, t/domquery.html,
t/isin.html, t/looping.html, t/loops.html, t/repeat.html,
t/split-fancy.html, t/strip.html:
better defaults
* index.html, benchmarker.html:
todo block
* t/: createOneElement.html, isin.html, repeat.html, strip.html:
better default options
* benchmarker.js:
VERSION update
* benchmarker.html, benchmarker.js, t/isin.html, t/looping.html,
t/loops.html, t/split-fancy.html, t/strip.html:
changed default "editOptions" to "true"
* benchmarker.html, benchmarker.js, creator.html,
creator_form.html:
2-stage for "options" editing ("editOptions" and "editHandlers")
* benchmarker.html:
highlighting tweaks (JS in HTML)
2007-04-01
* benchmark_htmlish.html, benchmarker.html, index.html:
loooooootta more documentation (yet much more is to be written) :(
* style.css:
more visual cues
* creator.html, t/camelize.html, t/loops.html, t/split-fancy.html:
better options
* benchmarker.js, creator_form.html:
better (hopefully) defaults for input/textarea layouts
* benchmark_htmlish.js:
NAME/VERSION/REVISION; optional Effects; always set a table caption; add visual cue for possible benchmarking errors
* benchmark.js:
NAME/VERSION/REVISION (for Perlish)
2007-03-31
* benchmarker.js:
more effort trying to obtain a "readable" source block
* benchmark.js, benchmark_htmlish.js, creator_form.html:
implemented "nATime" functionality
* benchmarker.js:
safer approach on escaping HTML code
* benchmark.js, creator_form.html:
renamed "maxRunTime" to "runCaps"
* benchmark.js, creator_form.html:
dropped "pause" (use "cooldown" everywhere)
* benchmark_compressed.js:
bullshit; WONT maintain it
* benchmarker.js:
NAME/VERSION/REVISION
* benchmark.js:
NAME/VERSION/REVISION
* benchmark.js:
NAME/VERSION/REVISION
2007-03-28
* t/createNElements.html:
more tests
* index.html, t/repeat.html:
String#repeat test
* benchmarker.js:
Opera friendly
* benchmarker.js, t/createNElements.html, t/createOneElement.html:
IE friendly
* index.html, t/createNElements.html, t/createOneElement.html:
create DOM elements tests
2007-02-18
* t/camelize.html:
use "indexOf"
* t/camelize.html:
String.camelize() bench
* benchmarker.js:
linkify ;-)
* benchmarker.html, benchmarker.js, index.html, style.css:
Benchmarker documentation (prototyping)
* t/isin.html:
"is in" bench
* benchmarker.js:
isolated "source" method
* index.html, t/domquery.html:
various "DOM query" methods benchmarking
* benchmarker.js, t/loops.html, t/strip.html:
parallel/serial benchmark runners
* benchmark_htmlish.js, style.css:
caption for HTMLish output
* benchmark.js:
title for Perlish output
2007-02-17
* t/looping.html:
added mishoo's version
* benchmarker.js:
allow inline javascript code to be passed inside "scripts" option (by using an Array
* index.html, t/loops.html, t/split-fancy.html:
more "fancy" examples
* benchmarker.js:
(auto)scroll no more ;-)
* benchmark.js, benchmark_htmlish.js:
handle code exceptions gracefully
* benchmarker.js, creator_form.html, style.css:
- added "preparation code" (option: "setup");
- smoother "action buttons".
2007-02-16
* benchmarker.js, creator_form.html:
added full editing toggling mode
* style.css, benchmarker.js:
added Sheet support
* benchmark_htmlish.js:
- added Sheet support
- added Effect.Highlight support
2007-02-15
* t/looping.html, t/strip.html, benchmarker.js, creator_form.html,
index.html, style.css:
Benchmarker :)
* benchmark_creator.js, benchmarker.js, creator.html,
creator_form.html, style.css:
Benchmarker :)
2007-02-09
* benchmark.js, benchmark_creator.js, creator.html, index.html,
t/escapeHTML.html, t/looping.html, t/loops.html, t/setStyle.html:
more events
2007-02-08
* benchmark_creator.js, benchmark_htmlish.js, creator.html:
added "responders" support
* benchmark_htmlish.js, index.html, style.css:
HTMLish Responders suite
* benchmark.js:
compute average speed too
* benchmark.js, benchmark_creator.js, index.html,
t/escapeHTML.html, t/looping.html, t/loops.html, t/setStyle.html,
t/split.html, t/strip.html:
- changed calling syntax: new Benchmark(functions, options);
- lotta code refactorization (yes, again);
- dropped "this.names", "this.methods", "this.currentIndex",
"this.currentMethod", etc and switched to a single data structure:
"this.data" (with its "this.current" friend);
- dropped "output", refactorized into Benchmark.Responders;
- more, more, more documentation
* benchmark.js:
dropped "namesRated", switched to "methodsByRate"
* benchmark.js:
More refactorization:
- dropped "this.current" (using "this.currentMethod" and "this.currentIndex");
- "this.results" is now a Hash;
- every output signal is handled asynchronously;
- pass "this.currentMethod" ("current method name") to appropriate output signals
("start", "chill", "resume", "end");
- more efficient results "comparison" computations;
...
2007-02-07
* benchmark.js, style.css:
HEAVY code refactorization!
* benchmark.js, benchmark_compressed.js:
another step towards the greater light ;-)
2007-02-06
* benchmark.js:
converted "results" to an Array of Hashes
* benchmark.js, benchmark_creator.js, index.html,
t/escapeHTML.html, t/looping.html, t/setStyle.html:
- this.methods is no longer mutated into an Array;
- allow float numbers for this.iterations (useful for time limited benchmarking);
- tiny refactoring: enhanced this.current attributes (dropped "method", added
"name" and "idx");
- initialize "prepare" and "cleanup" to "identity" function and dropped
their conditional execution;
(more to come soon: still working on refactoring the "output" system)
* benchmark_creator.js:
do not validate "iterations" as positive integer (let Benchmark handle invalid values)
2007-02-05
* t/: escapeHTML.html, looping.html, loops.html, setStyle.html,
split.html, strip.html:
use "minimum running time" mode by default
* benchmark.js, index.html, style.css, t/looping.html:
- refactorization: do not use local variables for keeping current status, use
"this.current" instead;
- implemented a "minimum running time" benchmarking mode.
2007-01-26
* benchmark_compressed.js:
jsmin version
* index.html:
javascript syntax highlighter
2007-01-10
* benchmark_creator.js, creator.html:
moved out js code
2007-01-08
* benchmark.js:
- tidier code (more comments, cleaner variables names, etc);
- made JSON results (numeric values) look more similar to those "plain text".
* creator.html:
load JSON module (to show JSON results too)
* benchmark.js, creator.html, index.html, t/escapeHTML.html,
t/loops.html, t/setStyle.html, t/split.html, t/strip.html:
- changed "samples" to "iterations" (sounds more inteligible);
- plugged an "eol" parameter to properly "dump" results (MSIE wants "\r\n",
all others need only the usual "\n");
- gather JSON formatted results into "resultsJSON" property (it will be
dumped at the end of "text results" if JSON module is loaded);
- changed startup delay to be the "cooldown" (avoiding the arbitrary "100");
- dropped the "skip_rest" cruft (from "cmpResults").
2007-01-07
* benchmark.js, index.html:
dropped Function.bind (using our "delay")
* benchmark.js:
avoid another "infinite" exception
* benchmark.js:
stable methods names sorting (to avoid KHTML divergences)
* t/escapeHTML.html:
made our most optimized version look exactly as it is to be submitted upstream
2007-01-06
* t/escapeHTML.html:
- change text after each test (adding/changing trailing digits)
- dropped escaping """
- changed default iterations number to "10000"
- added new method: "escapeHTMLOneDiv2" (caching the TextNode too)
* t/escapeHTML.html:
new method: "String.replaceMap"
2007-01-05
* t/escapeHTML.html:
fix for KHTML JS engine :(
* benchmark.js, index.html, t/escapeHTML.html:
escapeHTML benchmark
2006-12-25
* style.css:
more twisting
2006-12-06
* index.html:
see also
* index.html:
proper homepage :))
* creator.html:
benchmark creator tool
* t/loops.html, t/setStyle.html, t/split.html, t/strip.html,
style.css:
style updates
* benchmark.js:
documentation updates
2006-12-03
* t/strip.html:
Strip strip tests
* t/loops.html:
use Number.range
2006-12-02
* t/: loops.html, setStyle.html, split.html:
proper link (to the current builder... maybe a future "description"?)
2006-12-01
* benchmark.js:
more docs
* benchmark.js:
more docs
* benchmark.js:
output fine tuning
* index.html:
elastic fields
2006-11-30
* benchmark.js, index.html:
interactive benchmark builder
* benchmark.js:
another Infinity check
* benchmark.js:
- documentation
- dropped dependency on "sprintf"
* benchmark.js:
play smarter with "arguments"
2006-11-29
* benchmark.js:
toggle _toContinue when appropriate
* t/loops.html:
"for" loop vs "Enumerable.each" benchmark
2006-11-28
* benchmark.js, t/split.html:
standalone implementation
* benchmark.js:
improved benchmarking sequence, allowing pause/resume (avoiding browser caps)
* t/setStyle.html:
raised default iterations
* benchmark.js, t/setStyle.html, t/split.html:
Class version, ASYNCHRONOUS benchmarking, etc. HYPER! :))
* benchmark.js:
better prepare/cleanup system (on each and every iteration)
2006-11-27
* t/setStyle.html:
even simpler
* t/setStyle.html:
- optional test data cleanup
- function (vs method) "setStyleText" and "setStyleLite"
* t/setStyle.html:
- better benchmark method names
- dropped plainMultiple (it's too similar to setStyle)
* benchmark.js, t/setStyle.html:
baked a "simple" frontend for running benchmarks: Benchmark.run(options)
* benchmark.js:
added license
* benchmark.js:
titleLength
* t/setStyle.html:
added plainSingle and plainMultiple
* benchmark.js:
show navigator
* t/: setStyle.html, split.html:
IE friendly dumper
* t/setStyle.html:
Prototype Element.setStyle benchmarks
2006-11-12
* benchmark.js, t/split.html:
Benchmark class