Skip to content

Performance #140

@igagis

Description

@igagis

I think it is known that freight's performance is not perfect. For example in my repo it takes about 20 minutes to add a package to the repo. I must say that my server is quite weak, but still, it is uncomparable with binary tools, like repo-add for pacman, which happens instantly on same hardware.

I'm wondering, is it known what parts of freight are bottlenecks? Was there any such investigation?
Could the problem be solved by writing some parts of freight in C++? What are those parts?

I read the code a bit, not very deep. But, as far as I could understand, for adding a package it is needed to regenerate the whole repo. I.e. it is needed to unpack each package from lib, read control file and then create a new Packages and Release files.
To me it looks like so many unncessary actions for the sake of adding just one or several new packages. Would it make more sense to parse existing Packages, compare with list of files from lib and append only new packages?

Maybe I misunderstand how freight and apt repo works at the moment. Just trying to understand if there is a room for improvement.

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions