Hi,

Profiling potentially shows that things are being copied. If the process runs 
long enough then garbage collection will kick in.

I know it’s superficial for this process in the big picture and that collecting 
package signatures is the culprit that needs a speed up.


245     2.10ms  245     7.44ms                  my ($stem, $version) = 
OpenBSD::PackageName::splitname($_);
                # spent  7.44ms making 245 calls to 
OpenBSD::PackageName::splitname, avg 30µs/call
245     617µs                                   $port->{$subdir}{stem}    = 
$stem;
245     456ms   245     454ms                   $port->{$subdir}{version} = 
$version;
                # spent   454ms making 245 calls to main::CORE:readline, avg 
1.85ms/call

-------------

                ($port->{$subdir}{stem}, $port->{$subdir}{version})
245     449ms   490     452ms                           = 
OpenBSD::PackageName::splitname($_);
                        # spent   445ms making 245 calls to 
main::CORE:readline, avg 1.82ms/call
                        # spent  6.98ms making 245 calls to 
OpenBSD::PackageName::splitname, avg 28µs/call



Ian McWilliam

> On 13 Oct 2024, at 11:21 pm, Marc Espie <marc.espie.open...@gmail.com> wrote:
> 
> On Sat, Oct 12, 2024 at 11:28:40AM +1100, Ian McWilliam wrote:
>> Hi,
>> 
>> In the universe’s grand scheme of things the wasted memory, garbage 
>> collection and cpu cycles doesn’t mean much.
>> 
>> The patch removes variable allocation in a while loop that is not needed.
>> 
>> Ian McWilliam
>> 
> 
> Have you checked that it actually saves memory ?  Strings are very much
> shared in that context.

Reply via email to