swh:1:snp:87728f882295b5ba27035837248a04c5be121c53
Revision a62f9d1ace8c6556cbc1bb7df69eff0a0bb9e774 authored by Garima Singh on 04 September 2019, 17:36:39 UTC, committed by Johannes Schindelin on 05 December 2019, 14:36:40 UTC
In preparation to flipping the default on `core.protectNTFS`, let's have
some way to measure the speed impact of this config setting reliably
(and for comparison, the `core.protectHFS` config setting).

For now, this is a manual performance benchmark:

	./t/helper/test-path-utils protect_ntfs_hfs [arguments...]

where the arguments are an optional number of file names to test with,
optionally followed by minimum and maximum length of the random file
names. The default values are one million, 3 and 20, respectively.

Just like `sqrti()` in `bisect.c`, we introduce a very simple function
to approximation the square root of a given value, in order to avoid
having to introduce the first user of `<math.h>` in Git's source code.

Note: this is _not_ implemented as a Unix shell script in t/perf/
because we really care about _very_ precise timings here, and Unix shell
scripts are simply unsuited for precise and consistent benchmarking.

Signed-off-by: Garima Singh <garima.singh@microsoft.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
1 parent 525e7fb
History
Tip revision: 6c40894d2466d4e7fddc047a05116aa9d14712ee authored by Junio C Hamano on 30 August 2021, 23:06:22 UTC
The second batch
Tip revision: 6c40894
File Mode Size
.github
Documentation
block-sha1
builtin
ci
compat
contrib
ewah
git-gui
gitk-git
gitweb
mergetools
perl
po
ppc
refs
sha1collisiondetection @ 19d97bf
sha1dc
t
templates
vcs-svn
xdiff
.gitattributes -rw-r--r-- 249 bytes
.gitignore -rw-r--r-- 3.1 KB
.gitmodules -rw-r--r-- 153 bytes
.mailmap -rw-r--r-- 14.5 KB
.travis.yml -rw-r--r-- 2.0 KB
.tsan-suppressions -rw-r--r-- 411 bytes
COPYING -rw-r--r-- 18.3 KB
GIT-VERSION-GEN -rwxr-xr-x 752 bytes
INSTALL -rw-r--r-- 8.9 KB
LGPL-2.1 -rw-r--r-- 26.2 KB
Makefile -rw-r--r-- 82.4 KB
README.md -rw-r--r-- 2.9 KB
RelNotes l--------- 33 bytes
abspath.c -rw-r--r-- 6.7 KB
aclocal.m4 -rw-r--r-- 1.4 KB
advice.c -rw-r--r-- 4.1 KB
advice.h -rw-r--r-- 1004 bytes
alias.c -rw-r--r-- 1.8 KB
alloc.c -rw-r--r-- 2.6 KB
apply.c -rw-r--r-- 129.3 KB
apply.h -rw-r--r-- 3.9 KB
archive-tar.c -rw-r--r-- 12.4 KB
archive-zip.c -rw-r--r-- 17.0 KB
archive.c -rw-r--r-- 14.7 KB
archive.h -rw-r--r-- 1.3 KB
argv-array.c -rw-r--r-- 1.7 KB
argv-array.h -rw-r--r-- 689 bytes
attr.c -rw-r--r-- 28.3 KB
attr.h -rw-r--r-- 2.2 KB
base85.c -rw-r--r-- 2.8 KB
bisect.c -rw-r--r-- 25.1 KB
bisect.h -rw-r--r-- 713 bytes
blame.c -rw-r--r-- 49.6 KB
blame.h -rw-r--r-- 5.2 KB
blob.c -rw-r--r-- 401 bytes
blob.h -rw-r--r-- 666 bytes
branch.c -rw-r--r-- 9.3 KB
branch.h -rw-r--r-- 2.5 KB
builtin.h -rw-r--r-- 12.1 KB
bulk-checkin.c -rw-r--r-- 7.0 KB
bulk-checkin.h -rw-r--r-- 323 bytes
bundle.c -rw-r--r-- 12.3 KB
bundle.h -rw-r--r-- 725 bytes
cache-tree.c -rw-r--r-- 17.4 KB
cache-tree.h -rw-r--r-- 1.6 KB
cache.h -rw-r--r-- 70.6 KB
check-builtins.sh -rwxr-xr-x 596 bytes
check-racy.c -rw-r--r-- 523 bytes
check_bindir -rwxr-xr-x 374 bytes
color.c -rw-r--r-- 8.8 KB
color.h -rw-r--r-- 3.2 KB
column.c -rw-r--r-- 9.7 KB
column.h -rw-r--r-- 1.4 KB
combine-diff.c -rw-r--r-- 40.2 KB
command-list.txt -rw-r--r-- 8.8 KB
commit-slab.h -rw-r--r-- 4.7 KB
commit.c -rw-r--r-- 40.7 KB
commit.h -rw-r--r-- 13.3 KB
common-main.c -rw-r--r-- 1.1 KB
config.c -rw-r--r-- 69.1 KB
config.h -rw-r--r-- 8.9 KB
config.mak.in -rw-r--r-- 540 bytes
config.mak.uname -rw-r--r-- 16.5 KB
configure.ac -rw-r--r-- 36.7 KB
connect.c -rw-r--r-- 22.1 KB
connect.h -rw-r--r-- 676 bytes
connected.c -rw-r--r-- 3.0 KB
connected.h -rw-r--r-- 1.5 KB
convert.c -rw-r--r-- 39.7 KB
convert.h -rw-r--r-- 3.6 KB
copy.c -rw-r--r-- 1.3 KB
credential-cache--daemon.c -rw-r--r-- 6.9 KB
credential-cache.c -rw-r--r-- 3.2 KB
credential-store.c -rw-r--r-- 5.0 KB
credential.c -rw-r--r-- 7.8 KB
credential.h -rw-r--r-- 833 bytes
csum-file.c -rw-r--r-- 4.0 KB
csum-file.h -rw-r--r-- 1.3 KB
ctype.c -rw-r--r-- 2.6 KB
daemon.c -rw-r--r-- 32.0 KB
date.c -rw-r--r-- 27.8 KB
decorate.c -rw-r--r-- 1.8 KB
decorate.h -rw-r--r-- 400 bytes
delta.h -rw-r--r-- 3.4 KB
diff-delta.c -rw-r--r-- 15.4 KB
diff-lib.c -rw-r--r-- 14.6 KB
diff-no-index.c -rw-r--r-- 6.8 KB
diff.c -rw-r--r-- 142.9 KB
diff.h -rw-r--r-- 13.2 KB
diffcore-break.c -rw-r--r-- 9.0 KB
diffcore-delta.c -rw-r--r-- 5.3 KB
diffcore-order.c -rw-r--r-- 2.4 KB
diffcore-pickaxe.c -rw-r--r-- 6.1 KB
diffcore-rename.c -rw-r--r-- 17.6 KB
diffcore.h -rw-r--r-- 4.8 KB
dir-iterator.c -rw-r--r-- 4.8 KB
dir-iterator.h -rw-r--r-- 2.7 KB
dir.c -rw-r--r-- 75.2 KB
dir.h -rw-r--r-- 11.1 KB
editor.c -rw-r--r-- 1.5 KB
entry.c -rw-r--r-- 11.5 KB
environment.c -rw-r--r-- 8.8 KB
exec_cmd.c -rw-r--r-- 3.2 KB
exec_cmd.h -rw-r--r-- 540 bytes
fast-import.c -rw-r--r-- 90.0 KB
fetch-pack.c -rw-r--r-- 30.4 KB
fetch-pack.h -rw-r--r-- 1.3 KB
fmt-merge-msg.h -rw-r--r-- 187 bytes
fsck.c -rw-r--r-- 24.2 KB
fsck.h -rw-r--r-- 1.8 KB
generate-cmdlist.sh -rwxr-xr-x 929 bytes
gettext.c -rw-r--r-- 5.1 KB
gettext.h -rw-r--r-- 2.2 KB
git-add--interactive.perl -rwxr-xr-x 40.4 KB
git-archimport.perl -rwxr-xr-x 36.1 KB
git-bisect.sh -rwxr-xr-x 15.6 KB
git-compat-util.h -rw-r--r-- 31.3 KB
git-cvsexportcommit.perl -rwxr-xr-x 12.6 KB
git-cvsimport.perl -rwxr-xr-x 31.3 KB
git-cvsserver.perl -rwxr-xr-x 158.9 KB
git-difftool--helper.sh -rwxr-xr-x 2.2 KB
git-filter-branch.sh -rwxr-xr-x 12.8 KB
git-instaweb.sh -rwxr-xr-x 18.1 KB
git-merge-octopus.sh -rwxr-xr-x 2.4 KB
git-merge-one-file.sh -rwxr-xr-x 3.6 KB
git-merge-resolve.sh -rwxr-xr-x 944 bytes
git-mergetool--lib.sh -rw-r--r-- 8.7 KB
git-mergetool.sh -rwxr-xr-x 10.1 KB
git-p4.py -rwxr-xr-x 141.3 KB
git-parse-remote.sh -rw-r--r-- 2.6 KB
git-quiltimport.sh -rwxr-xr-x 3.5 KB
git-rebase--am.sh -rw-r--r-- 2.5 KB
git-rebase--interactive.sh -rw-r--r-- 34.9 KB
git-rebase--merge.sh -rw-r--r-- 3.8 KB
git-rebase.sh -rwxr-xr-x 15.9 KB
git-remote-testgit.sh -rwxr-xr-x 2.9 KB
git-request-pull.sh -rwxr-xr-x 3.6 KB
git-send-email.perl -rwxr-xr-x 52.6 KB
git-sh-i18n.sh -rw-r--r-- 2.3 KB
git-sh-setup.sh -rw-r--r-- 9.1 KB
git-stash.sh -rwxr-xr-x 15.4 KB
git-submodule.sh -rwxr-xr-x 27.7 KB
git-svn.perl -rwxr-xr-x 62.6 KB
git-web--browse.sh -rwxr-xr-x 4.3 KB
git.c -rw-r--r-- 19.6 KB
git.rc -rw-r--r-- 566 bytes
gpg-interface.c -rw-r--r-- 6.3 KB
gpg-interface.h -rw-r--r-- 1.2 KB
graph.c -rw-r--r-- 36.3 KB
graph.h -rw-r--r-- 4.9 KB
grep.c -rw-r--r-- 49.1 KB
grep.h -rw-r--r-- 5.5 KB
hash.h -rw-r--r-- 389 bytes
hashmap.c -rw-r--r-- 7.0 KB
hashmap.h -rw-r--r-- 13.7 KB
help.c -rw-r--r-- 11.4 KB
help.h -rw-r--r-- 1.1 KB
hex.c -rw-r--r-- 2.7 KB
http-backend.c -rw-r--r-- 16.6 KB
http-fetch.c -rw-r--r-- 2.2 KB
http-push.c -rw-r--r-- 49.6 KB
http-walker.c -rw-r--r-- 14.9 KB
http.c -rw-r--r-- 59.4 KB
http.h -rw-r--r-- 6.5 KB
ident.c -rw-r--r-- 12.5 KB
imap-send.c -rw-r--r-- 35.8 KB
iterator.h -rw-r--r-- 2.1 KB
khash.h -rw-r--r-- 12.6 KB
kwset.c -rw-r--r-- 20.5 KB
kwset.h -rw-r--r-- 2.6 KB
levenshtein.c -rw-r--r-- 2.5 KB
levenshtein.h -rw-r--r-- 203 bytes
line-log.c -rw-r--r-- 30.7 KB
line-log.h -rw-r--r-- 1.8 KB
line-range.c -rw-r--r-- 6.5 KB
line-range.h -rw-r--r-- 1.3 KB
list-objects.c -rw-r--r-- 6.0 KB
list-objects.h -rw-r--r-- 381 bytes
list.h -rw-r--r-- 4.6 KB
ll-merge.c -rw-r--r-- 10.5 KB
ll-merge.h -rw-r--r-- 567 bytes
lockfile.c -rw-r--r-- 5.6 KB
lockfile.h -rw-r--r-- 10.5 KB
log-tree.c -rw-r--r-- 24.8 KB
log-tree.h -rw-r--r-- 1.3 KB
mailinfo.c -rw-r--r-- 26.3 KB
mailinfo.h -rw-r--r-- 991 bytes
mailmap.c -rw-r--r-- 8.9 KB
mailmap.h -rw-r--r-- 271 bytes
match-trees.c -rw-r--r-- 8.1 KB
merge-blobs.c -rw-r--r-- 1.9 KB
merge-blobs.h -rw-r--r-- 194 bytes
merge-recursive.c -rw-r--r-- 61.4 KB
merge-recursive.h -rw-r--r-- 1.6 KB
merge.c -rw-r--r-- 2.5 KB
mergesort.c -rw-r--r-- 1.5 KB
mergesort.h -rw-r--r-- 574 bytes
mru.c -rw-r--r-- 968 bytes
mru.h -rw-r--r-- 1.0 KB
name-hash.c -rw-r--r-- 18.1 KB
notes-cache.c -rw-r--r-- 2.2 KB
notes-cache.h -rw-r--r-- 498 bytes
notes-merge.c -rw-r--r-- 22.5 KB
notes-merge.h -rw-r--r-- 2.8 KB
notes-utils.c -rw-r--r-- 4.9 KB
notes-utils.h -rw-r--r-- 1.4 KB
notes.c -rw-r--r-- 37.1 KB
notes.h -rw-r--r-- 11.8 KB
object.c -rw-r--r-- 9.5 KB
object.h -rw-r--r-- 4.5 KB
oidset.c -rw-r--r-- 1.0 KB
oidset.h -rw-r--r-- 1.2 KB
pack-bitmap-write.c -rw-r--r-- 12.3 KB
pack-bitmap.c -rw-r--r-- 24.9 KB
pack-bitmap.h -rw-r--r-- 1.7 KB
pack-check.c -rw-r--r-- 5.3 KB
pack-objects.c -rw-r--r-- 2.2 KB
pack-objects.h -rw-r--r-- 2.2 KB
pack-revindex.c -rw-r--r-- 5.6 KB
pack-revindex.h -rw-r--r-- 323 bytes
pack-write.c -rw-r--r-- 10.3 KB
pack.h -rw-r--r-- 3.4 KB
pager.c -rw-r--r-- 4.4 KB
parse-options-cb.c -rw-r--r-- 5.2 KB
parse-options.c -rw-r--r-- 17.4 KB
parse-options.h -rw-r--r-- 10.1 KB
patch-delta.c -rw-r--r-- 2.2 KB
patch-ids.c -rw-r--r-- 3.1 KB
patch-ids.h -rw-r--r-- 585 bytes
path.c -rw-r--r-- 35.5 KB
path.h -rw-r--r-- 2.9 KB
pathspec.c -rw-r--r-- 16.5 KB
pathspec.h -rw-r--r-- 2.9 KB
pkt-line.c -rw-r--r-- 8.5 KB
pkt-line.h -rw-r--r-- 4.1 KB
preload-index.c -rw-r--r-- 2.5 KB
pretty.c -rw-r--r-- 44.9 KB
prio-queue.c -rw-r--r-- 1.8 KB
prio-queue.h -rw-r--r-- 1.5 KB
progress.c -rw-r--r-- 6.3 KB
progress.h -rw-r--r-- 504 bytes
prompt.c -rw-r--r-- 1.4 KB
prompt.h -rw-r--r-- 168 bytes
quote.c -rw-r--r-- 10.6 KB
quote.h -rw-r--r-- 2.8 KB
reachable.c -rw-r--r-- 4.8 KB
reachable.h -rw-r--r-- 300 bytes
read-cache.c -rw-r--r-- 70.5 KB
ref-filter.c -rw-r--r-- 59.3 KB
ref-filter.h -rw-r--r-- 4.2 KB
reflog-walk.c -rw-r--r-- 8.2 KB
reflog-walk.h -rw-r--r-- 918 bytes
refs.c -rw-r--r-- 50.3 KB
refs.h -rw-r--r-- 28.1 KB
remote-curl.c -rw-r--r-- 27.3 KB
remote-testsvn.c -rw-r--r-- 8.2 KB
remote.c -rw-r--r-- 58.5 KB
remote.h -rw-r--r-- 8.2 KB
replace_object.c -rw-r--r-- 3.0 KB
repository.c -rw-r--r-- 5.7 KB
repository.h -rw-r--r-- 2.6 KB
rerere.c -rw-r--r-- 31.0 KB
rerere.h -rw-r--r-- 1.2 KB
resolve-undo.c -rw-r--r-- 4.3 KB
resolve-undo.h -rw-r--r-- 612 bytes
revision.c -rw-r--r-- 93.0 KB
revision.h -rw-r--r-- 8.0 KB
run-command.c -rw-r--r-- 36.6 KB
run-command.h -rw-r--r-- 7.6 KB
send-pack.c -rw-r--r-- 15.5 KB
send-pack.h -rw-r--r-- 840 bytes
sequencer.c -rw-r--r-- 67.2 KB
sequencer.h -rw-r--r-- 1.0 KB
server-info.c -rw-r--r-- 5.7 KB
setup.c -rw-r--r-- 32.8 KB
sh-i18n--envsubst.c -rw-r--r-- 10.3 KB
sha1-array.c -rw-r--r-- 1.2 KB
sha1-array.h -rw-r--r-- 585 bytes
sha1-lookup.c -rw-r--r-- 2.6 KB
sha1-lookup.h -rw-r--r-- 234 bytes
sha1_file.c -rw-r--r-- 99.5 KB
sha1_name.c -rw-r--r-- 40.0 KB
sha1dc_git.c -rw-r--r-- 609 bytes
sha1dc_git.h -rw-r--r-- 579 bytes
shallow.c -rw-r--r-- 19.4 KB
shell.c -rw-r--r-- 4.5 KB
shortlog.h -rw-r--r-- 492 bytes
show-index.c -rw-r--r-- 2.2 KB
sideband.c -rw-r--r-- 3.1 KB
sideband.h -rw-r--r-- 259 bytes
sigchain.c -rw-r--r-- 1.1 KB
sigchain.h -rw-r--r-- 247 bytes
split-index.c -rw-r--r-- 9.5 KB
split-index.h -rw-r--r-- 1.2 KB
strbuf.c -rw-r--r-- 19.7 KB
strbuf.h -rw-r--r-- 21.0 KB
streaming.c -rw-r--r-- 11.8 KB
streaming.h -rw-r--r-- 507 bytes
string-list.c -rw-r--r-- 7.5 KB
string-list.h -rw-r--r-- 5.4 KB
sub-process.c -rw-r--r-- 5.3 KB
sub-process.h -rw-r--r-- 3.2 KB
submodule-config.c -rw-r--r-- 16.5 KB
submodule-config.h -rw-r--r-- 2.0 KB
submodule.c -rw-r--r-- 55.3 KB
submodule.h -rw-r--r-- 5.7 KB
symlinks.c -rw-r--r-- 9.3 KB
tag.c -rw-r--r-- 4.5 KB
tag.h -rw-r--r-- 608 bytes
tar.h -rw-r--r-- 644 bytes
tempfile.c -rw-r--r-- 8.2 KB
tempfile.h -rw-r--r-- 9.5 KB
thread-utils.c -rw-r--r-- 1.7 KB
thread-utils.h -rw-r--r-- 241 bytes
tmp-objdir.c -rw-r--r-- 6.4 KB
tmp-objdir.h -rw-r--r-- 1.5 KB
trace.c -rw-r--r-- 10.8 KB
trace.h -rw-r--r-- 3.6 KB
trailer.c -rw-r--r-- 25.9 KB
trailer.h -rw-r--r-- 737 bytes
transport-helper.c -rw-r--r-- 36.2 KB
transport.c -rw-r--r-- 33.2 KB
transport.h -rw-r--r-- 8.4 KB
tree-diff.c -rw-r--r-- 18.0 KB
tree-walk.c -rw-r--r-- 29.1 KB
tree-walk.h -rw-r--r-- 3.1 KB
tree.c -rw-r--r-- 6.4 KB
tree.h -rw-r--r-- 1.1 KB
unicode_width.h -rw-r--r-- 8.5 KB
unimplemented.sh -rw-r--r-- 101 bytes
unix-socket.c -rw-r--r-- 2.4 KB
unix-socket.h -rw-r--r-- 158 bytes
unpack-trees.c -rw-r--r-- 56.4 KB
unpack-trees.h -rw-r--r-- 2.3 KB
upload-pack.c -rw-r--r-- 27.0 KB
url.c -rw-r--r-- 2.4 KB
url.h -rw-r--r-- 492 bytes
urlmatch.c -rw-r--r-- 18.1 KB
urlmatch.h -rw-r--r-- 2.0 KB
usage.c -rw-r--r-- 4.9 KB
userdiff.c -rw-r--r-- 9.6 KB
userdiff.h -rw-r--r-- 780 bytes
utf8.c -rw-r--r-- 16.8 KB
utf8.h -rw-r--r-- 2.4 KB
varint.c -rw-r--r-- 660 bytes
varint.h -rw-r--r-- 168 bytes
version.c -rw-r--r-- 651 bytes
version.h -rw-r--r-- 180 bytes
versioncmp.c -rw-r--r-- 5.2 KB
walker.c -rw-r--r-- 7.3 KB
walker.h -rw-r--r-- 1.1 KB
wildmatch.c -rw-r--r-- 7.8 KB
wildmatch.h -rw-r--r-- 293 bytes
worktree.c -rw-r--r-- 8.7 KB
worktree.h -rw-r--r-- 2.4 KB
wrap-for-bin.sh -rw-r--r-- 819 bytes
wrapper.c -rw-r--r-- 14.7 KB
write_or_die.c -rw-r--r-- 1.5 KB
ws.c -rw-r--r-- 9.4 KB
wt-status.c -rw-r--r-- 63.2 KB
wt-status.h -rw-r--r-- 3.5 KB
xdiff-interface.c -rw-r--r-- 7.0 KB
xdiff-interface.h -rw-r--r-- 1.2 KB
zlib.c -rw-r--r-- 6.1 KB

README.md

back to top