darcs

Issue 986 Parent Ticket for GHC project concerns

Title Parent Ticket for GHC project concerns
Priority wishlist Status duplicate
Milestone Resolved in
Superseder darcs whatsnew significantly slower on hashed format (ghc 6.8.2 bug affecting Debian and Ubuntu), fetching patches is way too slow, wish: drastically improve darcs annotate performance, wish: fancy conflict markers (with named patch)
View: 973, 987, 984, 833
Nosy List Serware, darcs-devel, dmitry.kurochkin, kowey, markstos, thorkilnaur, tommy
Assigned To
Topics

Created on 2008-08-11.18:28:51 by dagit, last changed 2009-10-23.23:29:38 by admin.

Files
File name Uploaded Type Edit Remove
unnamed dagit, 2008-08-11.18:28:46 text/html
unnamed dagit, 2008-08-12.03:34:45 text/html
Messages
msg5380 (view) Author: dagit Date: 2008-08-11.18:28:46
These are Simon Marlow's notes on areas that darcs needs to improve on to be
useful for GHC:

I promised to put together our reasoning on why we don't think moving to
darcs2 would help enough.  Here's a summary:

 - using the darcs2 format may well fix the exponential-time merge problem,
  but the UI for merging conflicts is still lacking in many important ways
  in darcs:

  * The conflict markers are not annotated with the patch that they came
    from, and the ordering of patches in conflict markers is
    non-deterministic (when I asked about this problem, I was told it was
    hard to fix).

  * The 'darcs changes' output only shows one of the patches that is
    conflicting, you have to guess at the other one(s).  Also, it doesn't
    show which patches are conflict resolutions.

 - Performance.  darcs2 regressed in performance for many operations we
  commonly use.  I've submitted some measurements for some things, but
  it's pretty easy to find your own test cases: things like "darcs add",
  "darcs whatsnew", "darcs unrecord" are all slower than darcs 1.  When
  simple operations take multiple seconds to complete, it really slows
  down your workflow.

 - I still can't use 'darcs annotate' because it's too slow.  Also, we
  can't browse the GHC repository on the web because the web interface
  wants to do 'darcs changes <file>', and that takes minutes.  It's
  possible with caching, but you still have to regenerate the cache
  after a change.

 - why can I do a complete git clone of a remote GHC repo in a few minutes,
  but it takes hours to do a complete 'darcs get'?

 - Bugs.  Many bugs have been fixed in darcs2, which is great, but we
  did already encounter one (hard to reproduce) bug on Windows,
  when trying to get an up-to-date repo.  Perhaps bugs will be less of
  an issue in the future, but we have had painful experiences
  particularly on Windows and I know the darcs developers are still
  not actively testing on Windows.
Attachments
msg5388 (view) Author: markstos Date: 2008-08-12.01:53:30
It's good that these concerns are documented, but what is the purpose of having
in the bug tracker? Is it considered a "bug" that darcs doesn't meet all of the
concerns of the GHC project?  

My hope is simply to have some stated measure so we can determine when this bug
tracker entry is considered resolved.
msg5390 (view) Author: dagit Date: 2008-08-12.03:34:45
On Mon, Aug 11, 2008 at 6:53 PM, Mark Stosberg <bugs@darcs.net> wrote:

>
> Mark Stosberg <mark@summersault.com> added the comment:
>
> It's good that these concerns are documented, but what is the purpose of
> having
> in the bug tracker? Is it considered a "bug" that darcs doesn't meet all of
> the
> concerns of the GHC project?
>
> My hope is simply to have some stated measure so we can determine when this
> bug
> tracker entry is considered resolved.

Your concerns are valid.  I saw the feedback in an email SimonM sent and
hastily saved it somewhere.  This was the first place I thought of.  Others
have commented that this should probably get moved to the wiki.

Jason
Attachments
msg5415 (view) Author: markstos Date: 2008-08-12.16:28:17
Eric,

I see you marked this as "release critical for 2.1", but when is this issue
'resolved'? It seems rather broad to work on directly. 

I would rather see this as several specific tickets, such as one for conflict
markers and one for 'darcs changes' conflict output, etc.
msg5416 (view) Author: kowey Date: 2008-08-12.16:36:42
You're right.  Let's track down the issues that are related to these concerns
and create the new tickets necessary.  I guess the group ticket should be on the
wiki, as people and Jason point out.

  * The conflict markers are not annotated with the patch that they came
    from, and the ordering of patches in conflict markers is
    non-deterministic (when I asked about this problem, I was told it was
    hard to fix).

That's issue833

  * The 'darcs changes' output only shows one of the patches that is
    conflicting, you have to guess at the other one(s).  Also, it doesn't
    show which patches are conflict resolutions.

I think this needs a ticket, no?

 - Performance.  darcs2 regressed in performance for many operations we
  commonly use.  I've submitted some measurements for some things, but
  it's pretty easy to find your own test cases: things like "darcs add",
  "darcs whatsnew", "darcs unrecord" are all slower than darcs 1.  When
  simple operations take multiple seconds to complete, it really slows
  down your workflow.

One of these is issue973.

 - I still can't use 'darcs annotate' because it's too slow.  Also, we
  can't browse the GHC repository on the web because the web interface
  wants to do 'darcs changes <file>', and that takes minutes.  It's
  possible with caching, but you still have to regenerate the cache
  after a change.

That's issue984

 - why can I do a complete git clone of a remote GHC repo in a few minutes,
  but it takes hours to do a complete 'darcs get'?

That's issue987

 - Bugs.  Many bugs have been fixed in darcs2, which is great, but we
  did already encounter one (hard to reproduce) bug on Windows,
  when trying to get an up-to-date repo.  Perhaps bugs will be less of
  an issue in the future, but we have had painful experiences
  particularly on Windows and I know the darcs developers are still
  not actively testing on Windows.

We should work with Simon M to get more details on these bugs...
msg6589 (view) Author: kowey Date: 2008-11-04.12:54:51
We're making some progress here:
- whatsnew too slow on hashed repositories fixed by upgrading to GHC 6.8.3
(issue973)
- annotate too slow, will perhaps improved by Benedikt's filecache work in darcs
2.2? (issue984)

On the other hand
- fetch files over HTTP being slow (issue987)... I'm not sure we can do very
much for this by January.  We may have to postpone this until 2009-07
- improved conflicts marking (issue883) is unlikely to arrive very soon

Therefore, I am removing the ReleaseGoal topic from this ticket (because it's
not realistic).  I am also marking this ticket a duplicate because we already
have farmed everything out into sub-tickets.  Thanks!
History
Date User Action Args
2008-08-11 18:28:51dagitcreate
2008-08-11 20:35:29koweylinkissue985 superseder
2008-08-12 01:53:33markstossetpriority: wishlist
nosy: + markstos
status: unread -> unknown
messages: + msg5388
2008-08-12 03:34:49dagitsetfiles: + unnamed
nosy: tommy, beschmi, markstos, dagit
messages: + msg5390
2008-08-12 09:24:26koweysetnosy: tommy, beschmi, markstos, dagit
superseder: + wish: fancy conflict markers (with named patch), fetching patches is way too slow
2008-08-12 09:26:15koweysettopic: + Target-2.0
nosy: + Serware, droundy, kowey
2008-08-12 16:28:20markstossetnosy: droundy, tommy, beschmi, kowey, markstos, dagit, Serware
messages: + msg5415
2008-08-12 16:36:45koweysetnosy: droundy, tommy, beschmi, kowey, markstos, dagit, Serware
superseder: + darcs whatsnew significantly slower on hashed format (ghc 6.8.2 bug affecting Debian and Ubuntu), wish: drastically improve darcs annotate performance
messages: + msg5416
title: Darcs issues with the GHC repository -> create new tickets for these concerns
2008-08-15 02:05:29markstossetnosy: + darcs-devel
title: create new tickets for these concerns -> Parent Ticket for GHC project concerns
2008-11-04 12:54:55koweysetstatus: unknown -> duplicate
nosy: + dmitry.kurochkin, simon, thorkilnaur, - darcs-devel
topic: - Target-2.0
messages: + msg6589
2008-11-04 12:58:07droundysetnosy: - droundy
2009-08-06 21:10:31adminsetnosy: - beschmi
2009-08-11 00:20:00adminsetnosy: - dagit
2009-08-25 17:33:38adminsetnosy: + darcs-devel, - simon
2009-08-27 14:13:30adminsetnosy: tommy, kowey, markstos, darcs-devel, thorkilnaur, dmitry.kurochkin, Serware
2009-10-23 22:43:47adminsetnosy: + serware, - Serware
2009-10-23 23:29:38adminsetnosy: + Serware, - serware