git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Shawn O. Pearce" <spearce@spearce.org>
To: Manuel Woelker <manuel.woelker@gmail.com>
Cc: Robin Rosenberg <robin.rosenberg@dewire.com>, git@vger.kernel.org
Subject: Re: [JGIT] Blame functionality for jgit
Date: Mon, 12 Jan 2009 13:55:16 -0800	[thread overview]
Message-ID: <20090112215516.GN10179@spearce.org> (raw)
In-Reply-To: <3d045c7e0901121317j4ccd9515vbc7a44abc8ae5356@mail.gmail.com>

Manuel Woelker <manuel.woelker@gmail.com> wrote:
> On Mon, Jan 12, 2009 at 6:42 PM, Shawn O. Pearce <spearce@spearce.org> wrote:
> 
> That sounds like a good plan. For now I am not all that concerned
> about performance myself (premature optimization and all that), but in
> the long run - and especially with rename/copy detection that will
> definitely a factor for usability.

Yea, I know.  Premature optimization is the root of all evil.
But we've also learned the hard way that Java is slow as snot
compared to C git.  The only way we can even stay close is to
optimize the hell out of the tight inner sections, and very often
that means using byte[] and avoiding upconverting to String to as
late as we possibly can.

Performance *is* a feature in Git.  Its not a "nice to have",
its a requirement.  The old history view for example was too damn
slow using Commit, requiring minutes on one of my systems to render
egit.git history.  Using RevCommit its subsecond response time.

I just wanted to point out that we care quite a bit about speed, and
that given our input (raw byte[] from the pack) we need to be able
to quickly make decisions without upconverting to String, otherwise
blame performance will be so bad that its completely unusable.

> > I think eventually we'll have a BSD licensed LCS [...]
> 
> While trying to look up the Myers diff algorithm I found a diff
> implementation in Apache wicket (cf.
> http://wicket.sourceforge.net/apidocs/wicket/util/diff/myers/package-summary.html
> ). This one is under an Apache license, is that any better? It's truly
> kind of sad that you need a degree in law these days to get any work
> done in this license jungle. I just happen to strongly oppose the
> reinvention of circular transportation-enabling devices...

Yea, even the ASF has trouble deciding if the Apache License and
the GPL can get along:

  "The Apache Software Foundation is still trying to determine if
  this version of the Apache License is compatible with the GPL."

  http://www.apache.org/licenses/

The Apache License doesn't play nice with GPLv2 apparently, but is
OK with GPLv2, at least according to the FSF.

Anyway.  The Apache License is roughly the new style BSD, but with
patent protection clauses built in.  I think we can consume code
under the Apache License and redistribute it without any trouble
for us, our any of our downstream consumers.

> I'll keep you posted on new developments

Looking forward to it.

-- 
Shawn.

      reply	other threads:[~2009-01-12 21:56 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-11 20:23 [JGIT] Blame functionality for jgit Manuel Woelker
2009-01-12 17:42 ` Shawn O. Pearce
2009-01-12 21:17   ` Manuel Woelker
2009-01-12 21:55     ` Shawn O. Pearce [this message]

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090112215516.GN10179@spearce.org \
    --to=spearce@spearce.org \
    --cc=git@vger.kernel.org \
    --cc=manuel.woelker@gmail.com \
    --cc=robin.rosenberg@dewire.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.
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 NNTP newsgroup(s).