Skip to content

Conversation

@jecisc
Copy link
Contributor

@jecisc jecisc commented Dec 7, 2025

I propose to backport the recent 2 PRs to speedup iceberg. We could merge it and release after a few days of testing the new Pharo14 image

The benefit of caching the writerClass is acknowledged in the comment of
IceDiff>>#writerClass, but that implementation is not effective. The
method #buildForChanges: will ultimately refer to the #writerClass of
the source and target, and do so repeatedly, per changed file in the
changes.

I made this change by profiling the following expression

```
myRepository branch diffTo: myRepository workingCopy
```

where the active branch of the repository is different from the
reference commit of the working copy. There are roughly a thousand
items in the collection passed to #buildForChanges:.

The duration drops from 9 to 6 seconds, more or less.
@jecisc
Copy link
Contributor Author

jecisc commented Dec 8, 2025

Since one of the PR has problems, I propose to backport only one of the improvements

@jecisc jecisc changed the title [Pharo 13 backport] Backport 2 speed up of Iceberg [Pharo 13 backport] Backport speed up of Iceberg diff computation Dec 8, 2025
@jecisc jecisc merged commit 5788a76 into pharo-vcs:Pharo13 Dec 9, 2025
0 of 4 checks passed
@jecisc jecisc deleted the speedup branch December 9, 2025 15:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants