[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
scratch/elisp-benchmarks 5d3a6564227 53/54: Add "make elisp-benchmarks"
From: |
Pip Cet |
Subject: |
scratch/elisp-benchmarks 5d3a6564227 53/54: Add "make elisp-benchmarks" target |
Date: |
Mon, 30 Dec 2024 22:40:45 -0500 (EST) |
branch: scratch/elisp-benchmarks
commit 5d3a656422794c62f8169102747ead74b8fed3e4
Author: Pip Cet <pipcet@protonmail.com>
Commit: Pip Cet <pipcet@protonmail.com>
Add "make elisp-benchmarks" target
* elisp-benchmarks/Makefile.in: New file.
* Makefile.in: New 'elisp-benchmarks' target.
* configure.ac: Build Makefile in 'elisp-benchmarks' directory..
---
Makefile.in | 7 +++-
configure.ac | 8 +++++
elisp-benchmarks/Makefile.in | 80 ++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 94 insertions(+), 1 deletion(-)
diff --git a/Makefile.in b/Makefile.in
index 30a762ed03b..5953c638c70 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1012,7 +1012,7 @@ endef
### target for GCC does not delete 'libgcc.a', because recompiling it
### is rarely necessary and takes a lot of time.
mostlyclean_dirs = src oldXMenu lwlib lib lib-src nt doc/emacs doc/misc \
- doc/lispref doc/lispintro test
+ doc/lispref doc/lispintro test elisp-benchmarks
### Add the libexec directory to mostlyclean_dirs if its Makefile has
### been created.
@@ -1398,3 +1398,8 @@ ifeq ($(HAVE_PGTK)$(HAVE_GSETTINGS),yesyes)
$(MKDIR_P) $(@D)
touch $@
endif
+
+.PHONY: elisp-benchmarks
+
+elisp-benchmarks:
+ $(MAKE) -C elisp-benchmarks $@
diff --git a/configure.ac b/configure.ac
index bfef9cd294d..995a07940e6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -7897,6 +7897,14 @@ if test -f "$srcdir/$opt_makefile.in"; then
ARCH_INDEPENDENT_CONFIG_FILES([test/infra/Makefile])
fi
+opt_makefile=elisp-benchmarks/Makefile
+if test -f "$srcdir/$opt_makefile.in"; then
+ SUBDIR_MAKEFILES="$SUBDIR_MAKEFILES $opt_makefile"
+ dnl Again, it's best not to use a variable. Though you can add
+ dnl ", [], [opt_makefile='$opt_makefile']" and it should work.
+ ARCH_INDEPENDENT_CONFIG_FILES([elisp-benchmarks/Makefile])
+fi
+
if test "$ANDROID" = "yes"; then
SUBDIR_MAKEFILES="$SUBDIR_MAKEFILES java/Makefile cross/Makefile"
fi
diff --git a/elisp-benchmarks/Makefile.in b/elisp-benchmarks/Makefile.in
new file mode 100644
index 00000000000..4967184fe0f
--- /dev/null
+++ b/elisp-benchmarks/Makefile.in
@@ -0,0 +1,80 @@
+### @configure_input@
+
+# Copyright (C) 2010-2024 Free Software Foundation, Inc.
+
+# This file is part of GNU Emacs.
+
+# GNU Emacs is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# GNU Emacs is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
+
+### Commentary:
+
+## Target:
+## elisp-benchmarks: run benchmarks with default settings
+
+### Code:
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+abs_top_srcdir = @abs_top_srcdir@
+top_builddir = @top_builddir@
+VPATH = $(srcdir)
+
+FIND_DELETE = @FIND_DELETE@
+SEPCHAR = @SEPCHAR@
+
+-include ${top_builddir}/src/verbose.mk
+
+# We never change directory before running Emacs, so a relative file
+# name is fine, and makes life easier. If we need to change
+# directory, we can use emacs --chdir.
+EMACS = ../src/emacs
+
+EMACS_EXTRAOPT =
+
+# Command line flags for Emacs.
+# Apparently MSYS bash would convert "-L :" to "-L ;" anyway,
+# but we might as well be explicit.
+EMACSOPT = --no-init-file --no-site-file --no-site-lisp -L
"$(SEPCHAR)$(srcdir)" $(EMACS_EXTRAOPT)
+
+# Prevent any settings in the user environment causing problems.
+unexport EMACSDATA EMACSDOC EMACSLOADPATH EMACSPATH GREP_OPTIONS
XDG_CONFIG_HOME
+
+# The actual Emacs command run in the targets below.
+# Prevent locales influencing the text of the errors we expect to receive.
+emacs = LANG=C \
+ $(GDB) "$(EMACS)" $(MODULES_EMACSOPT) $(EMACSOPT)
+
+.PHONY: mostlyclean clean bootstrap-clean distclean maintainer-clean
+
+mostlyclean:
+ @true
+
+clean:
+ @true
+
+bootstrap-clean: clean
+ find $(srcdir) -name '*.elc' $(FIND_DELETE)
+
+distclean: clean
+ rm -f Makefile
+
+maintainer-clean: distclean bootstrap-clean
+
+.PHONY: elisp-benchmarks
+
+elisp-benchmarks:
+ $(emacs) --batch -l elisp-benchmarks.el -f elisp-benchmarks-run
+
+.PHONY: subdirs subdir-targets generate-test-jobs
- scratch/elisp-benchmarks fc96f951783 31/54: * Rename comp-speed -> native-comp-speed + bump new version, (continued)
- scratch/elisp-benchmarks fc96f951783 31/54: * Rename comp-speed -> native-comp-speed + bump new version, Pip Cet, 2024/12/30
- scratch/elisp-benchmarks f5a7f266b7a 26/54: Make `comp-speed' controllable through a customize, Pip Cet, 2024/12/30
- scratch/elisp-benchmarks 09b68bdaabf 41/54: * elisp-benchmarks.el: Bump version, Pip Cet, 2024/12/30
- scratch/elisp-benchmarks ffe5fd6b642 40/54: * benchmarks/elb-scroll.el (elb-scroll-entry): Load native code when available, Pip Cet, 2024/12/30
- scratch/elisp-benchmarks 5c15316e5e4 39/54: * benchmarks/elb-scroll.el: New benchmark, Pip Cet, 2024/12/30
- scratch/elisp-benchmarks 472cb38e582 44/54: ; * elisp-benchmarks.el: Update my mail, Pip Cet, 2024/12/30
- scratch/elisp-benchmarks 05079cd8174 50/54: elisp-benchmarks.el: Compact output and support setup code, Pip Cet, 2024/12/30
- scratch/elisp-benchmarks 1675aa61b84 32/54: ; * benchmarks/pack-unpack.el: Remove unnecessary newlines., Pip Cet, 2024/12/30
- scratch/elisp-benchmarks 8d62f921433 51/54: elisp-benchmarks.el: Fix regression in output format, Pip Cet, 2024/12/30
- scratch/elisp-benchmarks 0b955aeabbc 45/54: ; * elisp-benchmarks.el: Update copyright year, Pip Cet, 2024/12/30
- scratch/elisp-benchmarks 5d3a6564227 53/54: Add "make elisp-benchmarks" target,
Pip Cet <=
- scratch/elisp-benchmarks b4b10726cda 54/54: New script to import an elpa module, Pip Cet, 2024/12/30
- scratch/elisp-benchmarks 81cd14929b9 12/54: * Use the Emacs native compiler if available, Pip Cet, 2024/12/30
- scratch/elisp-benchmarks 6326535d976 22/54: * Fix for new `native-compile' interface and bump new version, Pip Cet, 2024/12/30
- scratch/elisp-benchmarks c171f1b8144 33/54: * elisp-benchmarks.el (elisp-benchmarks-run): Fix for non-native emacs, Pip Cet, 2024/12/30
- scratch/elisp-benchmarks 400690828d1 52/54: Add "elisp-benchmarks" package from ELPA, Pip Cet, 2024/12/30
- scratch/elisp-benchmarks 17c6be0ee5c 19/54: * benchmarks/pcase.el: Don't hide the real `pcase.el`, Pip Cet, 2024/12/30
- scratch/elisp-benchmarks 49619b889c0 28/54: * elisp-benchmarks.el: Bump new version., Pip Cet, 2024/12/30
- scratch/elisp-benchmarks 85f201476ab 36/54: * benchmarks/elb-smie.el: New benchmark, Pip Cet, 2024/12/30
- scratch/elisp-benchmarks 8ca8641e1ec 34/54: Add EIEIO benchmark, Pip Cet, 2024/12/30
- scratch/elisp-benchmarks 49031182944 37/54: * benchmarks/elb-bytecomp.el: New benchmark, Pip Cet, 2024/12/30