Re: Fast access git-rev-list output: some OS knowledge required

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Johannes Schindelin wrote:
Hi,

On Thu, 7 Dec 2006, Andreas Ericsson wrote:

Shawn Pearce wrote:
Perhaps there is some fast IPC API supported by Qt that you could use to run the revision listing outside of the main UI process, to eliminate the bottlenecks you are seeing and remove the problems noted above? One that doesn't involve reading from a pipe I mean...

Why not just fork() + exec() and read from the filedescriptor? You can up the output buffer of the forked program to something suitable, which means the OS will cache it for you until you copy it to a buffer in qgit (i.e., read from the descriptor).

Could somebody remind me why different processes are needed? I thought that the revision machinery should be used directly, by linking to libgit.a...


You wrote:
--%<--%<--%<--
Because, depending on what you do, the revision machinery is not
reentrable. For example, if you filter by filename, the history is
rewritten in-memory to simulate a history where just that filename was
tracked, and nothing else. These changes are not cleaned up after calling the internal revision machinery.
--%<--%<--%<--

When I wrote the above suggestion, I hadn't read the posts following the email where I cut this text from (where Linus said "we can add a 'reset' thingie to the revision walking machinery" and Marco replied with some more questions).

--
Andreas Ericsson                   andreas.ericsson@xxxxxx
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]