git-annex/Annex
Joey Hess 067aabdd48
wip RawFilePath 2x git-annex find speedup
Finally builds (oh the agoncy of making it build), but still very
unmergable, only Command.Find is included and lots of stuff is badly
hacked to make it compile.

Benchmarking vs master, this git-annex find is significantly faster!
Specifically:

	num files	old	new	speedup
	48500		4.77	3.73	28%
	12500		1.36	1.02	66%
	20		0.075	0.074	0% (so startup time is unchanged)

That's without really finishing the optimization. Things still to do:

* Eliminate all the fromRawFilePath, toRawFilePath, encodeBS,
  decodeBS conversions.
* Use versions of IO actions like getFileStatus that take a RawFilePath.
* Eliminate some Data.ByteString.Lazy.toStrict, which is a slow copy.
* Use ByteString for parsing git config to speed up startup.

It's likely several of those will speed up git-annex find further.
And other commands will certianly benefit even more.
2019-11-26 16:01:58 -04:00
..
AdjustedBranch fix a typo that didn't matter so far 2019-09-27 14:08:16 -04:00
Branch wip RawFilePath 2x git-annex find speedup 2019-11-26 16:01:58 -04:00
Content wip RawFilePath 2x git-annex find speedup 2019-11-26 16:01:58 -04:00
LockPool update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
MetaData update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
SpecialRemote git-lfs: remember urls, and autoenable remotes using known urls 2019-11-18 16:09:09 -04:00
View update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Action.hs make WorkerStage an open type 2019-06-19 13:05:03 -04:00
AdjustedBranch.hs refactor 2019-11-11 19:10:52 -04:00
AutoMerge.hs wip RawFilePath 2x git-annex find speedup 2019-11-26 16:01:58 -04:00
BloomFilter.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Branch.hs wip RawFilePath 2x git-annex find speedup 2019-11-26 16:01:58 -04:00
BranchState.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
CatFile.hs wip RawFilePath 2x git-annex find speedup 2019-11-26 16:01:58 -04:00
ChangedRefs.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
CheckAttr.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
CheckIgnore.hs Removed support for git versions older than 2.1 2019-09-11 16:14:43 -04:00
Common.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
Concurrent.hs Fix a crash (STM deadlock) when -J is used with multiple files that point to the same key 2019-11-14 13:51:09 -04:00
Content.hs wip RawFilePath 2x git-annex find speedup 2019-11-26 16:01:58 -04:00
CurrentBranch.hs refactor getCurrentBranch 2018-10-19 17:29:18 -04:00
Difference.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
DirHashes.hs cache the serialization of a Key 2019-11-22 17:49:16 -04:00
Drop.hs remove most remnants of direct mode 2019-08-26 16:27:48 -04:00
Environment.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Export.hs cache the serialization of a Key 2019-11-22 17:49:16 -04:00
FileMatcher.hs wip RawFilePath 2x git-annex find speedup 2019-11-26 16:01:58 -04:00
Fixup.hs Removed support for git versions older than 2.1 2019-09-11 16:14:43 -04:00
GitOverlay.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
HashObject.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Hook.hs update uninit to handle all the v7 stuff 2019-10-08 14:34:00 -04:00
Import.hs cache the serialization of a Key 2019-11-22 17:49:16 -04:00
Ingest.hs v7 for all repositories 2019-08-30 14:09:14 -04:00
Init.hs avoid running scanUnlockedFiles in bare repo 2019-11-21 14:31:12 -04:00
InodeSentinal.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Journal.hs wip RawFilePath 2x git-annex find speedup 2019-11-26 16:01:58 -04:00
Link.hs wip RawFilePath 2x git-annex find speedup 2019-11-26 16:01:58 -04:00
Locations.hs wip RawFilePath 2x git-annex find speedup 2019-11-26 16:01:58 -04:00
LockFile.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
LockPool.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Magic.hs Added --mimetype and --mimeencoding file matching options. 2019-09-19 12:09:59 -04:00
MetaData.hs wip RawFilePath 2x git-annex find speedup 2019-11-26 16:01:58 -04:00
Multicast.hs remove many old version ifdefs 2019-07-05 15:09:37 -04:00
Notification.hs wip RawFilePath 2x git-annex find speedup 2019-11-26 16:01:58 -04:00
NumCopies.hs wip RawFilePath 2x git-annex find speedup 2019-11-26 16:01:58 -04:00
Path.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Perms.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Queue.hs remove one more warningIO 2019-11-12 10:45:52 -04:00
RemoteTrackingBranch.hs refactor 2019-11-11 19:10:52 -04:00
ReplaceFile.hs avoid build warning on Windows about unused import 2019-05-23 12:15:33 -04:00
SpecialRemote.hs git-lfs: remember urls, and autoenable remotes using known urls 2019-11-18 16:09:09 -04:00
Ssh.hs annex.jobs=cpus etc 2019-05-10 13:27:08 -04:00
TaggedPush.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Tmp.hs init: Fix a reversion that broke initialization on systems that need to use pid locking 2019-09-10 13:37:07 -04:00
Transfer.hs cache the serialization of a Key 2019-11-22 17:49:16 -04:00
UpdateInstead.hs v7 for all repositories 2019-08-30 14:09:14 -04:00
Url.hs make --json-error-messages capture url download errors 2019-11-12 13:52:38 -04:00
UUID.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
VariantFile.hs cache the serialization of a Key 2019-11-22 17:49:16 -04:00
VectorClock.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Version.hs one missed thing for automatic v5 -> v7 upgrades 2019-08-30 17:35:10 -04:00
View.hs wip RawFilePath 2x git-annex find speedup 2019-11-26 16:01:58 -04:00
Wanted.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
WorkTree.hs wip RawFilePath 2x git-annex find speedup 2019-11-26 16:01:58 -04:00
YoutubeDl.hs make --json-error-messages capture url download errors 2019-11-12 13:52:38 -04:00