Commit graph

36044 commits

Author SHA1 Message Date
Joey Hess
4ad04618c6
Merge branch 'master' of ssh://git-annex.branchable.com 2019-12-04 14:56:31 -04:00
Joey Hess
f08cc8218b
optimisation
This was already optimised before, but profiling found that delEntry was
around 1.5% of the total runtime of git-annex whereis. It was being
called once per environment variable per file processed.

Fixed by better caching. Since withIndexFile is almost always run with
the same .git/annex/index file, it can cache the modified environment,
rather than re-modifying it each time called.

(cherry picked from commit 6535aea49a)
2019-12-04 14:30:22 -04:00
Joey Hess
6535aea49a
optimisation
This was already optimised before, but profiling found that delEntry was
around 1.5% of the total runtime of git-annex whereis. It was being
called once per environment variable per file processed.

Fixed by better caching. Since withIndexFile is almost always run with
the same .git/annex/index file, it can cache the modified environment,
rather than re-modifying it each time called.
2019-12-04 14:27:11 -04:00
Joey Hess
b88f89c1ef
get the most commonly used commands building again
A quick benchmark of whereis shows not much speed improvement, maybe a
few percent. Profiling it found a hotspot, adds to todo.
2019-12-04 13:45:18 -04:00
Ilya_Shlyakhter
a5fe4d0acf Added a comment 2019-12-02 16:58:25 +00:00
Ilya_Shlyakhter
ac7a4c0f2f Added a comment: dropping contents of old keys after migration 2019-12-02 16:48:48 +00:00
Joey Hess
650a631ef8
include all remotes back in 2019-12-02 12:26:33 -04:00
Joey Hess
1100e0d3c9
include upgrade code back in
Remaining things that need to be fixed up to get this branch into a
basically mergeable state: remotes, commands, and the assistant
2019-12-02 12:16:46 -04:00
Ilya_Shlyakhter
68883cd80f Added a comment 2019-12-02 16:02:47 +00:00
Joey Hess
f3047d7186
include git-annex-shell back in
Also pushed ConfigKey down into the Git modules, which is the bulk of
the changes.
2019-12-02 11:51:52 -04:00
Joey Hess
65b88a0b99
revert unncessary changes
part of the hacking in 067aabdd48
but did not need to be committed
2019-12-02 10:55:11 -04:00
Joey Hess
b69c5be9ed
Merge branch 'master' of ssh://git-annex.branchable.com 2019-12-02 10:53:57 -04:00
Joey Hess
b7fdee8409
remove spam 2019-12-02 10:53:21 -04:00
Joey Hess
c756006374
fix hacked up AutoMerge module to work again 2019-12-02 10:51:43 -04:00
atrent
5c26c6f91a Added a comment: P.P.S. i dropped all local copies 2019-12-02 08:03:01 +00:00
atrent
80fd7a1c2c Added a comment: P.S. they are all SHA256E 2019-12-02 07:29:06 +00:00
atrent
06268b048e Added a comment: can't find unused objects 2019-12-02 07:26:42 +00:00
nangal.vivek@08b8bc308cb03037792b7930fd839b9deec118df
54929389af Added a comment: not able to find git-annex on openSUSE using zypper 2019-12-01 17:04:53 +00:00
atrent
6d66e6a377 Added a comment: migrating... 2019-11-30 22:30:06 +00:00
remyabel@65018526f3b5d4c0d36e4b970aacc540e590bf23
7475a647f3 removed 2019-11-30 21:41:23 +00:00
Ilya_Shlyakhter
f8f3bd8eb4 Added a comment: hardlinking identical files in annex may break invariants 2019-11-30 21:36:38 +00:00
Ilya_Shlyakhter
78c2f2a973 Added a comment 2019-11-30 21:11:53 +00:00
atrent
955042a0bf Added a comment: no collisions 2019-11-30 20:37:00 +00:00
remyabel@65018526f3b5d4c0d36e4b970aacc540e590bf23
d4e5c8e677 2019-11-30 19:51:42 +00:00
Ilya_Shlyakhter
d4b700196b added a hyperlink to key_format 2019-11-30 17:00:58 +00:00
Ilya_Shlyakhter
e9ff2381bd Added a comment: same contents with different keys 2019-11-30 16:51:58 +00:00
atrent
d9b0481779 Added a comment: duplicate objects? 2019-11-30 14:04:17 +00:00
yarikoptic
dda81ca26f Added a comment 2019-11-29 18:09:45 +00:00
yarikoptic
dd33f68982 refiled under dandi project - use case is https://gin.g-node.org 2019-11-29 18:06:14 +00:00
yarikoptic
9b5240ce83 Added a comment: reference original bug report 2019-11-29 17:58:29 +00:00
ply
8a3c543b3b Added a comment 2019-11-28 11:18:50 +00:00
ply
822962fa5f 2019-11-28 11:10:51 +00:00
yarikoptic
01ee4995c5 Added a comment: related: shouldn't git annex try external remotes to download config? 2019-11-28 01:22:53 +00:00
yarikoptic
7752e73481 initial report on inability to use remotes with authentication cached by git 2019-11-28 01:01:49 +00:00
Joey Hess
d7833def66
use ByteString for git config
The parser and looking up config keys in the map should both be faster
due to using ByteString.

I had hoped this would speed up startup time, but any improvement to
that was too small to measure. Seems worth keeping though.

Note that the parser breaks up the ByteString, but a config map ends up
pointing to the config as read, which is retained in memory until every
value from it is no longer used. This can change memory usage
patterns marginally, but won't affect git-annex.
2019-11-27 17:40:09 -04:00
Joey Hess
37d0f73e66
reword comment 2019-11-27 16:38:18 -04:00
Ilya_Shlyakhter
7d3750682b git-annex-cat 2019-11-27 18:16:35 +00:00
Joey Hess
d830386ab2
update based on profiling
While L.toStrict copies, profiling showed it was only around 0.3% of
git-annex find runtime. Does not seem worth optimising that, which would
probably involve either a major refactoring, or a use of
UnsafeInterleaveIO.

Also, it seems to me that the latter would need to read chunks, and
preappend the leftover part to the next chunk. But a strict ByteString
append itself is a copy, so I'm not convinced that would be faster than
L.toStrict.
2019-11-27 14:09:11 -04:00
Joey Hess
c914058bf9
Merge branch 'master' into bs 2019-11-27 13:47:03 -04:00
Ilya_Shlyakhter
9e642fd038 Added a comment: parallelization 2019-11-27 17:30:12 +00:00
Ilya_Shlyakhter
9f4b99a0e7 Added a comment: parallelization 2019-11-27 17:23:15 +00:00
Ilya_Shlyakhter
a27ffd3aec Added a comment: representing paths 2019-11-27 15:08:41 +00:00
Ilya_Shlyakhter
e67d367b63 removed 2019-11-26 23:28:35 +00:00
anarcat
a98efcda3d Added a comment: amazing! 2019-11-26 21:07:32 +00:00
Joey Hess
a2b566be29
Merge branch 'master' of ssh://git-annex.branchable.com 2019-11-26 16:12:53 -04:00
Joey Hess
ac1e481bfa
devblog 2019-11-26 16:12:14 -04:00
Joey Hess
3361edfb61
todo for bs branch 2019-11-26 16:11:55 -04:00
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
linnearight02@915958f850452a19de84ec14a765402d1f7ecdb0
41458cd060 Added a comment: Online Coursework Service 2019-11-26 11:11:07 +00:00
Joey Hess
6a97ff6b3a
wip RawFilePath
Goal is to make git-annex faster by using ByteString for all the
worktree traversal. For now, this is focusing on Command.Find,
in order to benchmark how much it helps. (All other commands are
temporarily disabled)

Currently in a very bad unbuildable in-between state.
2019-11-25 16:18:19 -04:00