all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* a benchmark suite for Emacs
@ 2018-11-26  1:35 Gemini Lasswell
  2018-11-26 14:16 ` Joshua Branson
  2018-11-26 23:18 ` Juri Linkov
  0 siblings, 2 replies; 4+ messages in thread
From: Gemini Lasswell @ 2018-11-26  1:35 UTC (permalink / raw)
  To: emacs-devel

Hello all,

I've just pushed to scratch/benchmarks my WIP benchmarking suite for
Emacs and Emacs packages.

It's a long ways from done.  Some major missing parts are:

- Better/more complete user interface
- Documentation
- Statistical analysis (report on noisiness of data)
- Tramp integration/run benchmarks remotely
- Use VC rather than calling git directly
- More benchmark tasks
- Tests

But, given:

- a local clone of a git repo
- a program/shell script that produces an executable given that
  git repo and a commit
- a directory in the git repo with Lisp files containing tasks to be
  benchmarked
- a range of commits (as for git-rev-list(1))
- a number of commits to select from the range

it can use the shell script to build older versions of Emacs from
commits selected from the commit range given, run the tasks in those
older Emacs, record timing data, errors, process output and messages,
and then produce a report in the form of an org-mode file ready for
org-babel-gnuplot.

The benchmark data is stored in a directory hierarchy organized so that
benchmark data created on separate machines can be easily git-merged
together.

There's no documentation yet, but if any of you have time and interest
in running benchmarks, let me know and I'll write up instructions.

For those of you who generously spend your time reviewing code, the new
benchmark directory, thread.el and erb-task.el are ready for your
attention, but erb.el is not.

I also welcome ideas for more benchmarks, or anyone who wants to
write some.



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: a benchmark suite for Emacs
  2018-11-26  1:35 a benchmark suite for Emacs Gemini Lasswell
@ 2018-11-26 14:16 ` Joshua Branson
  2018-11-26 23:18 ` Juri Linkov
  1 sibling, 0 replies; 4+ messages in thread
From: Joshua Branson @ 2018-11-26 14:16 UTC (permalink / raw)
  To: emacs-devel


This is super cool!


Gemini Lasswell <gazally@runbox.com> writes:


> Hello all,
>
> I've just pushed to scratch/benchmarks my WIP benchmarking suite for
> Emacs and Emacs packages.
>
> It's a long ways from done.  Some major missing parts are:
>
> - Better/more complete user interface
> - Documentation
> - Statistical analysis (report on noisiness of data)
> - Tramp integration/run benchmarks remotely
> - Use VC rather than calling git directly
> - More benchmark tasks
> - Tests
>
> But, given:
>
> - a local clone of a git repo
> - a program/shell script that produces an executable given that
>   git repo and a commit
> - a directory in the git repo with Lisp files containing tasks to be
>   benchmarked
> - a range of commits (as for git-rev-list(1))
> - a number of commits to select from the range
>
> it can use the shell script to build older versions of Emacs from
> commits selected from the commit range given, run the tasks in those
> older Emacs, record timing data, errors, process output and messages,
> and then produce a report in the form of an org-mode file ready for
> org-babel-gnuplot.
>
> The benchmark data is stored in a directory hierarchy organized so that
> benchmark data created on separate machines can be easily git-merged
> together.
>
> There's no documentation yet, but if any of you have time and interest
> in running benchmarks, let me know and I'll write up instructions.
>
> For those of you who generously spend your time reviewing code, the new
> benchmark directory, thread.el and erb-task.el are ready for your
> attention, but erb.el is not.
>
> I also welcome ideas for more benchmarks, or anyone who wants to
> write some.



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: a benchmark suite for Emacs
  2018-11-26  1:35 a benchmark suite for Emacs Gemini Lasswell
  2018-11-26 14:16 ` Joshua Branson
@ 2018-11-26 23:18 ` Juri Linkov
  2018-11-27  1:28   ` Gemini Lasswell
  1 sibling, 1 reply; 4+ messages in thread
From: Juri Linkov @ 2018-11-26 23:18 UTC (permalink / raw)
  To: Gemini Lasswell; +Cc: emacs-devel

> - a local clone of a git repo
> - a program/shell script that produces an executable given that
>   git repo and a commit
> - a directory in the git repo with Lisp files containing tasks to be
>   benchmarked
> - a range of commits (as for git-rev-list(1))
> - a number of commits to select from the range
>
> it can use the shell script to build older versions of Emacs from
> commits selected from the commit range given, run the tasks in those
> older Emacs, record timing data, errors, process output and messages,
> and then produce a report in the form of an org-mode file ready for
> org-babel-gnuplot.

Is it like Diffbench for Ruby?  Something like that was sorely missed
for a long time in Emacs.



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: a benchmark suite for Emacs
  2018-11-26 23:18 ` Juri Linkov
@ 2018-11-27  1:28   ` Gemini Lasswell
  0 siblings, 0 replies; 4+ messages in thread
From: Gemini Lasswell @ 2018-11-27  1:28 UTC (permalink / raw)
  To: Juri Linkov; +Cc: emacs-devel

Juri Linkov <juri@linkov.net> writes:

>> - a local clone of a git repo
>> - a program/shell script that produces an executable given that
>>   git repo and a commit
>> - a directory in the git repo with Lisp files containing tasks to be
>>   benchmarked
>> - a range of commits (as for git-rev-list(1))
>> - a number of commits to select from the range
>>
>> it can use the shell script to build older versions of Emacs from
>> commits selected from the commit range given, run the tasks in those
>> older Emacs, record timing data, errors, process output and messages,
>> and then produce a report in the form of an org-mode file ready for
>> org-babel-gnuplot.
>
> Is it like Diffbench for Ruby?  Something like that was sorely missed
> for a long time in Emacs.

Like Diffbench, but bigger and better.  Diffbench looks like it does a
quick comparison of two states of the project.  That's something this
can do, but my vision for it is to build a database of benchmark results
for multiple machines and for commits going back as far as we can figure
out how to build and run them, so we can see how performance has changed
over time and how it varies on different systems.



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-11-27  1:28 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-26  1:35 a benchmark suite for Emacs Gemini Lasswell
2018-11-26 14:16 ` Joshua Branson
2018-11-26 23:18 ` Juri Linkov
2018-11-27  1:28   ` Gemini Lasswell

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.