Skip to content

Question: Multithreading/Speed #7

@Merculous

Description

@Merculous

I'm aware of you leaving precomp's verify method default, which is great, and have said it'll be slower. Now, we can all agree that's good, and I already know it will be slower.

I'm asking about whether precomp is always multithreaded or not. I'd like to get the best output from precomp using -intense and -brute, now I'm fully aware of using those options will greatly slow down the whole process. Anyway, so while testing precomp's speed, I also was using htop, and I noticed (guessing here cause I don't remember) towards the end, so maybe like 80%, cpu finally was above 100% cpu usage.

I know that some programs are made so that cpu usage is low, but in my case, cpu and memory usage I absolutely don't care about. So, will precomp always make use of multithreading for everything, or does it take affect when applicable? I noticed at least with bzip3, that it doesn't always have the same amount of threads running, and it will either increase or decrease assuming on the data? So basically, is precomp a bit slow because of what data is being processed or is just a threshold thing?

Hopefully this makes sense? I don't know of any other program that does this, and I'm actually happy you've added the verify routine. I'm not picky about using precomp to compress data more, but when I did a test on a file that was roughly 2GB, it was like 11/12 minutes just to process the file, which my script outputted like a 2-5 MB/s speed (I don't remember but it was around there). I'm just not sure if multithreading is already being used and if it was, it seems like precomp is doing redundant computation?

I have no idea what I'm talking about in terms of actual work but I just know enough to figure out what's going on at a high level.
I would love to help but I only know Python and I've tried working with C and I always give up :/

P.S.
When I'm saying multithreading, I just mean cpu usage is going more than 100%.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions