From: Ken Raeburn <raeburn@raeburn.org>
To: Philipp Stephani <p.stephani2@gmail.com>
Cc: Paul Eggert <eggert@cs.ucla.edu>, Emacs developers <emacs-devel@gnu.org>
Subject: Re: compiled lisp file format (Re: Skipping unexec via a big .elc file)
Date: Wed, 27 Sep 2017 04:31:09 -0400 [thread overview]
Message-ID: <633E485D-B414-427B-8257-699EE53C84F4@raeburn.org> (raw)
In-Reply-To: <CAArVCkTd5BgiRF_+pLkBLwJn47N8-rABeL-TbvFA1xy5kDE=Bg@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 6615 bytes --]
On Sep 24, 2017, at 09:57, Philipp Stephani <p.stephani2@gmail.com> wrote:
> Ken Raeburn <raeburn@raeburn.org <mailto:raeburn@raeburn.org>> schrieb am Mo., 3. Juli 2017 um 03:44 Uhr:
>
> On Jul 2, 2017, at 11:46, Philipp Stephani <p.stephani2@gmail.com <mailto:p.stephani2@gmail.com>> wrote:
>
>> Ken Raeburn <raeburn@raeburn.org <mailto:raeburn@raeburn.org>> schrieb am Mo., 29. Mai 2017 um 11:33 Uhr:
>>
>> On May 28, 2017, at 08:43, Philipp Stephani <p.stephani2@gmail.com <mailto:p.stephani2@gmail.com>> wrote:
>>
>>>
>>>
>>> Ken Raeburn <raeburn@raeburn.org <mailto:raeburn@raeburn.org>> schrieb am So., 28. Mai 2017 um 13:07 Uhr:
>>>
>>> On May 21, 2017, at 04:53, Paul Eggert <eggert@cs.ucla.edu <mailto:eggert@cs.ucla.edu>> wrote:
>>>
>>> > Ken Raeburn wrote:
>>> >> The Guile project has taken this idea pretty far; they’re generating ELF object files with a few special sections for Guile objects, using the standard DWARF sections for debug information, etc. While it has a certain appeal (making C modules and Lisp files look much more similar, maybe being able to link Lisp and C together into one executable image, letting GDB understand some of your data), switching to a machine-specific format would be a pretty drastic change, when we can currently share the files across machines.
>>> >
>>> > Although it does indeed sound like a big change, I don't see why it would prevent us from sharing the files across machines. Emacs can use standard ELF and DWARF format on any platform if Emacs is doing the loading. And there should be some software-engineering benefit in using the same format that Guile uses.
>>>
>>> Sorry for the delay in responding.
>>>
>>> The ELF format has header fields indicating the word size, endianness, machine architecture (though there’s a value for “none”), and OS ABI. Some fields vary in size or order depending on whether the 32-bit or 64-bit format is in use. Some other format details (e.g., relocation types, interpretation of certain ranges of values in some fields) are architecture- or OS-dependent; we might not care about many of those details, but relocations are likely needed if we want to play linking games or use DWARF.
>>>
>>> I think Guile is using whatever the native word size and architecture are. If we do that for Emacs, they’re not portable between platforms. Currently it works for me to put my Lisp files, both source and compiled, into ~/elisp and use them from different kinds of machines if my home directory is NFS-mounted.
>>>
>>> We could instead pick fixed values (say, architecture “none”, little-endian, 32-bit), but then there’s no guarantee that we could use any of the usual GNU tools on them without a bunch of work, or that we’d ever be able to use non-GNU tools to treat them as object files. Then again, we couldn’t expect to do the latter portably anyway, since some of the platforms don’t even use ELF.
>>>
>>>
>>> Is there any significant advantage of using ELF, or could this just use one of the standard binary serialization formats (protobuf, flatbuffer, ...)?
>>
>> That’s an interesting idea. If one of the popular serialization libraries is compatibly licensed, easy to use, and performs well, it may be better than rolling our own.
>>
>> I've tried this out (with flatbuffers), but I haven't seen significant speed improvements. It might very well be the case that during loading the reader is already fast enough (e.g. for ELC files it doesn't do any decoding), and it's the evaluator that's too slow.
>
> What’s your test case, and how are you measuring the performance?
>
> IIRC I've repeatedly loaded one of the biggest .elc files shipped with Emacs and measured the total loading time. I haven't done any detailed profiling, since I was hoping for a significant speed increase that would justify the work.
It’ll depend on what the code in that file is doing.
In the raeburn-startup branch, the last bit of profiling I did — you can see a graph at http://www.mit.edu/~raeburn/emacs.svg <http://www.mit.edu/~raeburn/emacs.svg> and if you haven’t read up on flame graphs (http://www.brendangregg.com/flamegraphs.html <http://www.brendangregg.com/flamegraphs.html>), they provide a nice visualization of the CPU time consumption broken down by what the current call stack looks like — showed nearly 1/3 of the CPU time of a simple run of Emacs in batch mode was spent reading and parsing the saved Lisp environment. Most of the rest of the CPU time was spent executing the loaded code (lots of fset and setplist calls), but the biggest chunk of that was executing a nested load of international/characters.elc; during that nested load, most of the time was spent in execution (mostly char table processing) and very little in parsing.
So… for the saved Lisp environment file, excluding the nested load, reading and parsing is about 2/3 of the CPU time used; for characters.elc, reading and parsing is a minuscule portion of the CPU time.
Loading a Lisp file internally uses the Lisp “read” routine, which requires an input stream of character values (not byte values) to be supplied; we examine the stream object and dispatch to various bits of code depending on its type (buffer, marker, function, certain special symbols), *for each character*. Each byte is examined to see if it’s part of a multibyte character. Each character is considered to see if it’s allowed to be part of a symbol name or string or whatever we’re in the middle of parsing, or if it’s a backslash quoting some other character, etc.
Hence my hopes for a non-text-based format, designed to streamline reading data from files, where we can do things like specify a vector length or string length up front instead of having to consider each character and process character quoting sequences, stuff like that. E.g., here’s a unibyte string of 47 bytes, so just copy the bytes without considering every one separately. No human-readable printed form, no escape sequences needed.
Another help might be finding a faster way to load the character data. I’ve got the branch loading characters.elc at startup because saving and parsing the generated tables was even slower than evaluating the Lisp code to generate them. Perhaps we can do some processing of them during the build and convert them into some other form that lets us start up faster.
> If people are generally interested in pursuing this further, I'd be happy to put my code into a scratch branch.
I’d be curious to take a look…
Ken
[-- Attachment #2: Type: text/html, Size: 9862 bytes --]
next prev parent reply other threads:[~2017-09-27 8:31 UTC|newest]
Thread overview: 375+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <ksa8fz8eud.fsf@luna.netfonds.no>
[not found] ` <87twe6sx2g.fsf@users.sourceforge.net>
[not found] ` <87eg51ng4r.fsf_-_@users.sourceforge.net>
[not found] ` <87k2djwumn.fsf@users.sourceforge.net>
[not found] ` <83h98nidvd.fsf@gnu.org>
[not found] ` <87eg3rvtsf.fsf@users.sourceforge.net>
[not found] ` <83k2dihpm9.fsf@gnu.org>
[not found] ` <8760p2wzgj.fsf@users.sourceforge.net>
[not found] ` <838ttyhhzu.fsf@gnu.org>
[not found] ` <871szqwu51.fsf@users.sourceforge.net>
[not found] ` <831szqhbc2.fsf@gnu.org>
2016-10-22 3:03 ` When should ralloc.c be used? (WAS: bug#24358) npostavs
2016-10-22 5:32 ` Paul Eggert
2016-10-22 7:29 ` Eli Zaretskii
2016-10-22 18:34 ` Paul Eggert
2016-10-22 19:43 ` When should ralloc.c be used? Stefan Monnier
2016-10-23 2:37 ` Paul Eggert
2016-10-23 6:53 ` Eli Zaretskii
2016-10-23 7:57 ` Paul Eggert
2016-10-23 8:58 ` Eli Zaretskii
2016-10-23 9:38 ` Paul Eggert
2016-10-23 12:50 ` Eli Zaretskii
2016-10-23 13:39 ` Stefan Monnier
2016-10-23 14:01 ` Eli Zaretskii
2016-10-23 14:18 ` Stefan Monnier
2016-10-23 18:19 ` Paul Eggert
2016-10-23 19:03 ` Eli Zaretskii
2016-10-23 20:36 ` Stefan Monnier
2016-10-24 6:54 ` Eli Zaretskii
2016-10-24 10:15 ` Eli Zaretskii
2016-10-24 4:59 ` Paul Eggert
2016-10-24 7:44 ` Eli Zaretskii
2016-10-24 8:29 ` Andreas Schwab
2016-10-24 8:47 ` Eli Zaretskii
2016-10-24 16:21 ` Paul Eggert
2016-10-24 16:39 ` Eli Zaretskii
2016-10-24 16:54 ` Paul Eggert
2016-10-24 17:05 ` Eli Zaretskii
2016-10-25 6:23 ` Paul Eggert
2016-10-25 16:11 ` Eli Zaretskii
2016-10-28 6:18 ` Jérémie Courrèges-Anglas
2016-10-28 6:19 ` Jérémie Courrèges-Anglas
2016-10-28 7:40 ` Eli Zaretskii
2016-10-23 15:22 ` Andreas Schwab
2016-10-23 15:49 ` Eli Zaretskii
2016-10-23 15:57 ` Andreas Schwab
2016-10-23 17:06 ` Eli Zaretskii
2016-10-23 20:35 ` Stefan Monnier
2016-10-23 16:44 ` Skipping unexec via a big .elc file (was: When should ralloc.c be used?) Stefan Monnier
2016-10-23 17:34 ` Eli Zaretskii
2016-10-23 20:27 ` Skipping unexec via a big .elc file Stefan Monnier
2016-10-24 6:22 ` Eli Zaretskii
2016-10-24 12:47 ` Stefan Monnier
2016-10-24 13:08 ` Eli Zaretskii
2016-10-24 14:15 ` Stefan Monnier
2016-10-24 1:07 ` Stefan Monnier
2016-10-24 6:39 ` Eli Zaretskii
2016-10-24 6:47 ` Lars Ingebrigtsen
2016-10-24 7:17 ` Eli Zaretskii
2016-10-24 8:24 ` Andreas Schwab
2016-10-24 8:41 ` Eli Zaretskii
2016-10-24 9:47 ` Daniel Colascione
2016-10-24 10:00 ` Eli Zaretskii
2016-10-24 10:03 ` Daniel Colascione
2016-10-24 10:18 ` Eli Zaretskii
2016-10-24 10:28 ` Philipp Stephani
2016-10-24 10:51 ` Eli Zaretskii
2016-10-24 13:52 ` Stefan Monnier
2016-10-24 16:04 ` Eli Zaretskii
2016-10-24 13:04 ` Stefan Monnier
2016-10-24 13:35 ` Eli Zaretskii
2016-10-24 14:45 ` Daniel Colascione
2016-10-24 15:58 ` Eli Zaretskii
2016-10-24 16:17 ` Daniel Colascione
2016-10-24 16:51 ` Philipp Stephani
2016-10-24 19:47 ` Daniel Colascione
2016-10-25 15:59 ` Eli Zaretskii
2016-10-25 16:14 ` Daniel Colascione
2016-10-25 17:05 ` Eli Zaretskii
2016-10-25 19:49 ` Stefan Monnier
2016-10-25 22:53 ` Perry E. Metzger
2016-10-26 2:36 ` Eli Zaretskii
2016-10-26 2:37 ` Perry E. Metzger
2016-10-24 16:52 ` Eli Zaretskii
2016-10-25 22:46 ` Perry E. Metzger
2016-10-24 9:40 ` Ken Raeburn
2016-10-24 13:13 ` Stefan Monnier
2016-10-25 9:02 ` Ken Raeburn
2016-10-25 13:48 ` Stefan Monnier
2016-10-27 8:51 ` Ken Raeburn
2016-10-30 14:43 ` Ken Raeburn
2016-10-30 15:31 ` Simon Leinen
2016-10-30 16:52 ` Daniel Colascione
2016-10-31 14:27 ` Stefan Monnier
2016-11-02 7:36 ` Ken Raeburn
2016-11-02 12:17 ` Stefan Monnier
2016-11-02 12:22 ` Stefan Monnier
2016-11-03 5:37 ` Ken Raeburn
2016-12-11 13:34 ` Ken Raeburn
2016-12-11 15:42 ` Eli Zaretskii
2016-12-24 11:06 ` Eli Zaretskii
2016-12-25 15:46 ` Stefan Monnier
2016-12-11 19:18 ` Richard Stallman
2016-12-15 12:57 ` Ken Raeburn
2016-12-15 16:04 ` Eli Zaretskii
2016-12-15 16:26 ` Ken Raeburn
2016-12-11 19:18 ` Richard Stallman
2016-12-12 17:25 ` Ken Raeburn
2016-12-13 15:21 ` Ken Brown
2016-12-14 5:30 ` Ken Raeburn
2016-12-14 5:45 ` Ken Raeburn
2016-12-14 10:58 ` Phil Sainty
2016-12-14 12:06 ` Yuri Khan
2016-12-14 11:00 ` Lars Ingebrigtsen
2016-12-15 11:45 ` Ken Raeburn
2016-12-15 17:28 ` Ken Raeburn
2016-12-15 19:59 ` Eli Zaretskii
2016-12-15 22:07 ` Clément Pit--Claudel
2016-12-16 7:54 ` Eli Zaretskii
2016-12-16 14:28 ` Clément Pit--Claudel
2016-12-16 14:39 ` Eli Zaretskii
2016-12-16 15:28 ` Clément Pit--Claudel
2016-12-16 21:27 ` Eli Zaretskii
2016-12-16 21:38 ` Noam Postavsky
2016-12-17 14:56 ` Stefan Monnier
2016-12-19 15:11 ` Phillip Lord
2016-12-16 7:56 ` Eli Zaretskii
2016-12-19 15:15 ` Phillip Lord
2016-12-19 15:09 ` Phillip Lord
2016-12-20 18:57 ` Ken Raeburn
2016-12-20 23:22 ` Stefan Monnier
2016-12-21 7:44 ` Ken Raeburn
2016-12-21 12:13 ` Phillip Lord
2016-12-16 14:22 ` Robert Pluim
2016-12-24 13:37 ` Eli Zaretskii
2016-12-26 17:48 ` Eli Zaretskii
2017-01-07 9:40 ` Eli Zaretskii
2017-01-09 10:28 ` Ken Raeburn
2017-01-10 2:25 ` Stefan Monnier
2017-01-10 9:46 ` Andreas Schwab
2017-01-10 17:19 ` Eli Zaretskii
2017-01-11 6:32 ` Ken Raeburn
2017-01-12 8:17 ` Ken Raeburn
2017-01-14 10:41 ` Eli Zaretskii
2017-01-14 10:55 ` Andreas Schwab
2017-01-14 11:07 ` Eli Zaretskii
2017-01-14 11:26 ` Alan Mackenzie
2017-01-14 12:19 ` Andreas Schwab
2017-01-14 13:05 ` Eli Zaretskii
2017-01-14 15:12 ` Andreas Schwab
2017-01-14 17:37 ` Eli Zaretskii
2017-01-14 18:50 ` Andreas Schwab
2017-01-14 15:30 ` Stefan Monnier
2017-01-14 17:42 ` Eli Zaretskii
2017-01-14 18:11 ` Stefan Monnier
2017-01-14 20:13 ` Eli Zaretskii
2017-01-21 7:58 ` Ken Raeburn
2017-01-22 16:55 ` Ken Raeburn
2017-02-02 9:10 ` Ken Raeburn
2017-02-04 10:37 ` Eli Zaretskii
2017-02-05 14:19 ` Ken Raeburn
2017-02-05 15:51 ` Eli Zaretskii
2017-02-05 23:19 ` Ken Raeburn
2017-02-06 15:20 ` Ken Raeburn
2017-02-06 15:39 ` Stefan Monnier
2017-02-06 19:08 ` Ken Raeburn
2017-02-06 22:39 ` Stefan Monnier
2017-02-08 10:31 ` Ken Raeburn
2017-02-08 14:38 ` Ken Brown
2017-02-05 20:03 ` Ken Brown
2017-02-25 14:52 ` Eli Zaretskii
2017-02-25 15:19 ` Eli Zaretskii
2017-02-26 12:37 ` Ken Raeburn
2017-03-04 14:23 ` Eli Zaretskii
2017-03-06 8:46 ` Ken Raeburn
2017-03-11 12:27 ` Eli Zaretskii
2017-03-11 13:18 ` Andreas Schwab
2017-03-11 13:42 ` Eli Zaretskii
2017-03-11 15:48 ` Stefan Monnier
2017-03-11 21:48 ` Richard Stallman
2017-03-11 22:06 ` Stefan Monnier
2017-03-11 23:59 ` Ken Raeburn
2017-03-12 17:06 ` Stefan Monnier
2017-03-13 8:25 ` Ken Raeburn
2017-03-26 16:44 ` Eli Zaretskii
2017-03-28 2:27 ` Ken Raeburn
2017-03-31 6:57 ` Eli Zaretskii
2017-03-31 8:40 ` Ken Raeburn
2017-04-03 16:15 ` Ken Raeburn
2017-04-03 16:57 ` Alan Mackenzie
2017-04-03 18:35 ` Ken Raeburn
2017-04-03 19:14 ` Eli Zaretskii
2017-04-04 8:08 ` Ken Raeburn
2017-04-04 9:51 ` Robert Pluim
2017-04-04 10:27 ` joakim
2017-04-04 12:14 ` Clément Pit-Claudel
2017-04-04 14:38 ` Eli Zaretskii
2017-04-04 15:16 ` Clément Pit-Claudel
2017-04-04 15:53 ` Eli Zaretskii
2017-04-04 18:22 ` Clément Pit-Claudel
2017-04-07 5:46 ` Lars Brinkhoff
2017-04-07 7:28 ` Eli Zaretskii
2017-04-07 9:02 ` Ken Raeburn
2017-04-07 13:40 ` Eli Zaretskii
2017-04-07 16:02 ` Ken Raeburn
2017-04-07 16:17 ` Clément Pit-Claudel
2017-04-08 15:03 ` Philipp Stephani
2017-04-08 15:15 ` Clément Pit-Claudel
2017-04-08 15:53 ` Philipp Stephani
2017-04-08 16:18 ` Eli Zaretskii
2017-04-08 18:01 ` Stefan Monnier
2017-05-01 11:41 ` Philipp Stephani
2017-04-08 17:58 ` Clément Pit-Claudel
2017-05-01 11:40 ` Philipp Stephani
2017-05-01 12:07 ` Eli Zaretskii
2017-05-18 17:39 ` Daniel Colascione
2017-05-18 19:45 ` Eli Zaretskii
2018-12-25 15:46 ` Philipp Stephani
2018-12-25 17:21 ` Eli Zaretskii
2018-12-25 19:15 ` Daniel Colascione
2018-12-26 15:27 ` Eli Zaretskii
2019-01-07 21:37 ` Daniel Colascione
2019-01-15 22:46 ` Daniel Colascione
2019-01-16 8:45 ` Tassilo Horn
2019-01-16 10:25 ` Robert Pluim
2019-01-16 11:58 ` Phillip Lord
2019-01-18 12:46 ` Windows Binaries with pdumper Phillip Lord
2019-01-21 11:30 ` Jostein Kjønigsen
2019-01-21 14:19 ` Phillip Lord
2019-01-16 12:00 ` Skipping unexec via a big .elc file Elias Mårtenson
2019-01-16 15:59 ` Eli Zaretskii
2019-01-16 16:08 ` Daniel Colascione
2019-01-16 21:56 ` Clément Pit-Claudel
2017-05-21 8:44 ` compiled lisp file format (Re: Skipping unexec via a big .elc file) Ken Raeburn
2017-05-21 8:53 ` Paul Eggert
2017-05-28 11:07 ` Ken Raeburn
2017-05-28 12:43 ` Philipp Stephani
2017-05-29 9:33 ` Ken Raeburn
2017-07-02 15:46 ` Philipp Stephani
2017-07-03 1:44 ` Ken Raeburn
2017-09-24 13:57 ` Philipp Stephani
2017-09-27 8:31 ` Ken Raeburn [this message]
2017-05-28 21:09 ` Paul Eggert
2017-05-29 9:33 ` Ken Raeburn
2017-05-29 16:37 ` Paul Eggert
2017-05-29 17:39 ` Eli Zaretskii
2017-05-29 18:03 ` Paul Eggert
2017-05-29 18:53 ` Eli Zaretskii
2017-05-29 20:15 ` Paul Eggert
2017-05-30 5:52 ` Ken Raeburn
2017-05-30 5:55 ` Eli Zaretskii
2017-05-21 16:02 ` John Wiegley
2017-04-07 13:23 ` Skipping unexec via a big .elc file Stefan Monnier
2017-04-10 16:19 ` Ken Raeburn
2016-10-24 18:34 ` Lars Brinkhoff
2016-10-24 19:52 ` Eli Zaretskii
2016-10-23 12:55 ` When should ralloc.c be used? Stefan Monnier
2016-10-23 14:28 ` Stefan Monnier
2016-10-23 14:57 ` Eli Zaretskii
2016-10-23 15:07 ` Stefan Monnier
2016-10-23 15:44 ` Eli Zaretskii
2016-10-23 16:30 ` Stefan Monnier
2016-10-23 16:45 ` Eli Zaretskii
2016-10-23 16:49 ` Stefan Monnier
2016-10-23 17:35 ` Eli Zaretskii
2016-10-23 20:23 ` Stefan Monnier
2016-10-23 20:33 ` Eli Zaretskii
2016-10-23 20:44 ` Stefan Monnier
2016-10-24 5:11 ` Paul Eggert
2016-10-24 12:33 ` Stefan Monnier
2016-10-24 13:05 ` Eli Zaretskii
2016-10-24 14:12 ` Stefan Monnier
2016-10-24 16:00 ` Eli Zaretskii
2016-10-24 18:51 ` Stefan Monnier
2016-10-24 14:37 ` Stefan Monnier
2016-10-24 15:40 ` Eli Zaretskii
2016-10-24 16:27 ` Daniel Colascione
2016-10-24 16:57 ` Eli Zaretskii
2016-10-25 2:34 ` Richard Stallman
2016-10-25 14:13 ` Stefan Monnier
2016-10-25 14:14 ` Stefan Monnier
2016-10-28 6:03 ` Jérémie Courrèges-Anglas
2016-10-28 6:23 ` Daniel Colascione
2016-10-28 7:09 ` Jérémie Courrèges-Anglas
2016-10-28 7:46 ` Eli Zaretskii
2016-10-28 8:11 ` Daniel Colascione
2016-10-28 8:27 ` Eli Zaretskii
2016-10-28 8:44 ` Daniel Colascione
2016-10-28 9:43 ` Eli Zaretskii
2016-10-28 9:52 ` Daniel Colascione
2016-10-28 12:25 ` Eli Zaretskii
2016-10-28 13:37 ` Stefan Monnier
2016-10-28 14:30 ` Eli Zaretskii
2016-10-28 14:43 ` Stefan Monnier
2016-10-28 15:41 ` Daniel Colascione
2016-10-29 6:08 ` Eli Zaretskii
2016-10-29 6:14 ` Daniel Colascione
2016-10-28 12:11 ` Stefan Monnier
2016-10-28 11:40 ` Jérémie Courrèges-Anglas
2016-10-28 13:03 ` Stefan Monnier
2016-10-28 14:41 ` Jérémie Courrèges-Anglas
2016-10-28 15:34 ` Daniel Colascione
2016-10-24 18:45 ` Stefan Monnier
2016-10-24 19:38 ` Eli Zaretskii
2016-10-25 14:12 ` Stefan Monnier
2016-10-25 16:36 ` Eli Zaretskii
2016-10-25 19:27 ` Stefan Monnier
2016-10-25 3:12 ` Ken Raeburn
2016-10-25 16:06 ` Eli Zaretskii
2016-10-26 4:36 ` Ken Raeburn
2016-10-26 11:40 ` Eli Zaretskii
2016-10-27 8:51 ` Ken Raeburn
2016-10-24 6:59 ` Eli Zaretskii
2016-10-24 12:45 ` Stefan Monnier
2016-10-24 13:07 ` Eli Zaretskii
2016-10-24 14:42 ` Stefan Monnier
2016-10-24 15:43 ` Eli Zaretskii
2016-10-24 18:50 ` Stefan Monnier
2016-10-24 16:10 ` Eli Zaretskii
2016-10-24 16:56 ` Richard Stallman
2016-10-24 0:21 ` When should ralloc.c be used? (WAS: bug#24358) Richard Stallman
2016-10-24 3:59 ` Paul Eggert
2016-10-24 7:15 ` Eli Zaretskii
2016-10-24 16:55 ` Richard Stallman
2016-10-24 17:09 ` Eli Zaretskii
2016-10-25 2:35 ` Richard Stallman
2016-10-25 6:38 ` Paul Eggert
2016-10-25 16:04 ` Eli Zaretskii
2016-10-25 23:49 ` Richard Stallman
2016-10-26 5:08 ` Paul Eggert
2016-10-26 11:46 ` Eli Zaretskii
2016-10-26 13:10 ` Noam Postavsky
2016-10-26 14:20 ` Eli Zaretskii
2016-10-27 1:23 ` Richard Stallman
2016-10-27 1:36 ` Paul Eggert
2016-10-27 13:35 ` Perry E. Metzger
2016-10-27 14:51 ` Paul Eggert
2016-10-27 15:05 ` Perry E. Metzger
2016-10-27 18:13 ` Eli Zaretskii
2016-10-27 21:03 ` Perry E. Metzger
2016-10-27 21:07 ` Daniel Colascione
2016-10-27 23:23 ` Perry E. Metzger
2016-10-27 23:32 ` When should ralloc.c be used? Daniel Colascione
2016-10-28 7:06 ` When should ralloc.c be used? (WAS: bug#24358) Eli Zaretskii
2016-10-28 7:03 ` Eli Zaretskii
2016-10-27 13:44 ` Fabrice Popineau
2016-10-27 15:35 ` Eli Zaretskii
2016-10-27 20:39 ` Richard Stallman
2016-10-28 6:48 ` Eli Zaretskii
2016-10-28 19:12 ` Richard Stallman
2016-10-29 6:37 ` Eli Zaretskii
2016-10-29 14:55 ` When should ralloc.c be used? Stefan Monnier
2016-10-30 16:13 ` Eli Zaretskii
2016-10-30 21:47 ` Stefan Monnier
2016-10-29 16:38 ` When should ralloc.c be used? (WAS: bug#24358) Richard Stallman
2016-10-29 21:57 ` Eli Zaretskii
2016-10-31 19:18 ` Richard Stallman
2016-10-31 20:58 ` Eli Zaretskii
2016-10-28 12:51 ` When should ralloc.c be used? Stefan Monnier
2016-10-27 20:40 ` When should ralloc.c be used? (WAS: bug#24358) Richard Stallman
2016-10-27 22:34 ` Paul Eggert
2016-10-28 2:40 ` Richard Stallman
2016-10-28 7:21 ` Eli Zaretskii
2016-10-28 2:40 ` Richard Stallman
2016-10-28 6:55 ` Eli Zaretskii
2016-10-26 11:37 ` Eli Zaretskii
2016-10-27 1:24 ` Richard Stallman
2016-10-28 12:57 ` When should ralloc.c be used? Stefan Monnier
2016-10-28 19:13 ` Richard Stallman
2016-10-28 22:46 ` Stefan Monnier
2016-10-29 16:35 ` Richard Stallman
2016-10-29 6:39 ` Eli Zaretskii
2016-10-29 16:37 ` Richard Stallman
2016-10-29 21:51 ` Eli Zaretskii
2016-10-30 11:33 ` Richard Stallman
2016-10-30 15:33 ` Alp Aker
2016-10-30 17:19 ` Richard Stallman
2016-10-30 16:08 ` Eli Zaretskii
2016-10-25 23:49 ` When should ralloc.c be used? (WAS: bug#24358) Richard Stallman
2016-10-25 2:35 ` Richard Stallman
2016-10-25 16:05 ` Eli Zaretskii
2016-10-27 1:22 ` Richard Stallman
2016-10-25 23:00 ` Perry E. Metzger
2016-10-26 2:37 ` Eli Zaretskii
2016-10-27 1:25 ` Richard Stallman
2016-10-24 14:04 ` When should ralloc.c be used? Stefan Monnier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=633E485D-B414-427B-8257-699EE53C84F4@raeburn.org \
--to=raeburn@raeburn.org \
--cc=eggert@cs.ucla.edu \
--cc=emacs-devel@gnu.org \
--cc=p.stephani2@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).