git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 3/6] Add library for string-specific memory pool

From
David Michael Barr <david.barr@cordelta.com>
Date
Jun 14, 2010, 14:45 UTC
Message-ID
<7C3A5AC5-78A7-42EB-A5DF-EFFA761FF1A6@cordelta.com>
In-Reply-To
<AANLkTimFRpckXjvzaefyOdokf-1f7YkrNAQ8dVr3jQgj@mail.gmail.com>
Hi Ram,
Show 8 quoted lines
>> Note that there isn't that much difference between being in 'pu' and being
>> in the mailing list archive.  Depending on how further discussions go, the
>> series can be replaced with an improvement or even can be dropped as a
>> whole.
> 
> It's an indicator of progress, if not anything else. The project is
> already pretty mature imho- after squashing in a few bugfixes, it
> should be ready for `next`.

I have a feeling that these patches will need a bit more love before they are ready for 'next'. The persistence component is the least mature of the lot. I'd really like some feedback on making the persistence robust and simple. Now that persistence is append-only, the file based representation no longer need be identical to the in-memory representation.

I've tried several times to simplify the buffer_read_line() method in line_buffer.h Every time I've ended up with slightly different behaviour. Someone well versed in I/O might be able to greatly simplify it. It may well be reduced to a simple wrapper around strbuf methods.

I'm still toying in my head about how to simplify the data structure used to represent the trees. Conceptually, it is a multiway tree with the constraint that the labels of siblings share a common prefix at the parent. It is implemented as a ternary tree with left and right links to siblings in the multiway tree and a middle link to the 'root' child in the multiway tree, from which all children are reachable via left/right links. As the code stands, the middle link is indirected via a 'directory' node. I'd like to remove this redundancy and make the design of the structure clearer.

There is scope for a massive rename of methods, arguments and variables so that the code is easier to read.

-- David Barr.

Previous: Ramkumar RamachandraNext: Ramkumar Ramachandra
Message 12 of 19 in “Another attempt to get the SVN exporter merged”
  1. 0/6 Another attempt to get the SVN exporter mergedRamkumar Ramachandra, Jun 10, 2010
  2. 1/6 Add memory pool libraryRamkumar Ramachandra, Jun 10, 2010
  3. Jonathan NiederJun 12, 2010
  4. Ramkumar RamachandraJun 14, 2010
  5. Andreas EricssonJun 14, 2010
  6. 2/6 Add cpp macro implementation of treapsRamkumar Ramachandra, Jun 10, 2010
  7. 3/6 Add library for string-specific memory poolRamkumar Ramachandra, Jun 10, 2010
  8. Junio C HamanoJun 11, 2010
  9. Ramkumar RamachandraJun 14, 2010
  10. Junio C HamanoJun 14, 2010
  11. Ramkumar RamachandraJun 14, 2010
  12. David Michael BarrJun 14, 2010
  13. 4/6 Add stream helper libraryRamkumar Ramachandra, Jun 10, 2010
  14. 5/6 Add infrastructure to write revisions in fast-export formatRamkumar Ramachandra, Jun 10, 2010
  15. 6/6 Add SVN dump parserRamkumar Ramachandra, Jun 10, 2010
  16. Ramkumar RamachandraJun 10, 2010
  17. Jonathan NiederJun 12, 2010
  18. Ramkumar RamachandraJun 14, 2010
  19. Ramkumar RamachandraJun 10, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.