I think the "createrepo_c" call as called in distRepo task does not include "--update oldrepo" and therefore recomputes all the metadata again even if single package changed from last time.
You can see TODO here: https://pagure.io/koji/blob/master/f/builder/kojid#_5324
I have not tested the distRepo performance for some time, but as far as I remember, it took 2 hours everytime for Fedora tags.
Candidate PR #1037
Metadata Update from @dgregor: - Custom field Size adjusted to None - Issue set to the milestone: 1.20
Commit aa48b87c fixes this issue
Commit 16279cee fixes this issue
Metadata Update from @jcupova: - Issue tagged with: testing-done
This issue has been migrated to Fedora Forge: https://forge.fedoraproject.org/koji/koji/issues/1031
Please continue any further discussion there.