Commit 1c63bb2
cache-tree: remove use of strbuf_addf in update_one
String formatting can be a performance issue when there are
hundreds of thousands of trees.
Change to stop using the strbuf_addf and just add the strings
or characters individually.
There are a limited number of modes so added a switch for the
known ones and a default case if something comes through that
are not a known one for git.
In one scenario regarding a huge worktree, this reduces the
time required for a `git checkout <branch>` from 44 seconds
to 38 seconds, i.e. it is a non-negligible performance
improvement.
Signed-off-by: Kevin Willford <kewillf@microsoft.com>1 parent 0a34c2e commit 1c63bb2
1 file changed
Lines changed: 23 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
397 | 397 | | |
398 | 398 | | |
399 | 399 | | |
400 | | - | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
401 | 423 | | |
402 | 424 | | |
403 | 425 | | |
| |||
0 commit comments