-
-
Save MasterDuke17/7aafabb580b66e38aabadbf04494525e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
use Linux::Proc::Statm; | |
my $repo = './rakudo'; | |
say get-statm-human.perl; | |
for ^50 { | |
say get-statm-human.perl if $_ %% 10; | |
my @tags = get-output(cwd => $repo, ‘git’, ‘tag’, | |
‘--format=%(*objectname)/%(objectname)/%(refname:strip=2)’, | |
‘--sort=-taggerdate’)<output>.lines; | |
my @commits = get-output(cwd => $repo, ‘git’, ‘rev-list’, | |
‘--all’, ‘--since=2014-01-01’)<output>.lines; | |
} | |
say get-statm-human.perl; | |
sub get-output(*@run-args, :$cwd) { | |
my $proc = Proc::Async.new: |@run-args; | |
my @chunks; | |
my $result; | |
my $s-start = now; | |
my $s-end; | |
react { | |
whenever $proc.stdout { @chunks.push: $_ }; # RT #131763 | |
whenever $proc.stderr { @chunks.push: $_ }; | |
whenever Promise.in(10) { | |
$proc.kill; | |
@chunks.push: “«timed out after 10 seconds»” | |
} | |
whenever $proc.start: :$cwd { | |
$result = $_; | |
$s-end = now; | |
done | |
} | |
} | |
%( | |
output => @chunks.join.chomp, | |
exit-code => $result.exitcode, | |
signal => $result.signal, | |
time => $s-end - $s-start, | |
) | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{:data("97.956 kB"), :dirty("0 kB"), :lib("0 kB"), :resident("104.500 kB"), :share("25.904 kB"), :size("203.132 kB"), :text("12 kB")} | |
{:data("97.956 kB"), :dirty("0 kB"), :lib("0 kB"), :resident("104.500 kB"), :share("25.904 kB"), :size("203.132 kB"), :text("12 kB")} | |
{:data("1.150.316 kB"), :dirty("0 kB"), :lib("0 kB"), :resident("483.012 kB"), :share("26.108 kB"), :size("2.207.268 kB"), :text("12 kB")} | |
{:data("1.282.932 kB"), :dirty("0 kB"), :lib("0 kB"), :resident("616.640 kB"), :share("26.108 kB"), :size("2.302.372 kB"), :text("12 kB")} | |
{:data("1.391.468 kB"), :dirty("0 kB"), :lib("0 kB"), :resident("731.612 kB"), :share("26.108 kB"), :size("2.397.432 kB"), :text("12 kB")} | |
{:data("1.485.172 kB"), :dirty("0 kB"), :lib("0 kB"), :resident("823.412 kB"), :share("26.108 kB"), :size("2.426.904 kB"), :text("12 kB")} | |
{:data("1.568.728 kB"), :dirty("0 kB"), :lib("0 kB"), :resident("927.464 kB"), :share("26.108 kB"), :size("2.456.164 kB"), :text("12 kB")} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ perl6 --version | |
This is Rakudo version 2017.09-154-g03b1febc9 built on MoarVM version 2017.09.1-54-g9053a1d7 | |
{:data("172.148 kB"), :dirty("0 kB"), :lib("0 kB"), :resident("128.476 kB"), :share("27.400 kB"), :size("537.304 kB"), :text("12 kB")} | |
{:data("172.148 kB"), :dirty("0 kB"), :lib("0 kB"), :resident("128.800 kB"), :share("27.400 kB"), :size("537.304 kB"), :text("12 kB")} | |
{:data("199.388 kB"), :dirty("0 kB"), :lib("0 kB"), :resident("166.980 kB"), :share("27.572 kB"), :size("619.872 kB"), :text("12 kB")} | |
{:data("211.152 kB"), :dirty("0 kB"), :lib("0 kB"), :resident("180.572 kB"), :share("27.572 kB"), :size("619.916 kB"), :text("12 kB")} | |
{:data("222.592 kB"), :dirty("0 kB"), :lib("0 kB"), :resident("192.308 kB"), :share("27.572 kB"), :size("621.872 kB"), :text("12 kB")} | |
{:data("231.268 kB"), :dirty("0 kB"), :lib("0 kB"), :resident("201.328 kB"), :share("27.572 kB"), :size("624.248 kB"), :text("12 kB")} | |
{:data("241.072 kB"), :dirty("0 kB"), :lib("0 kB"), :resident("212.276 kB"), :share("27.572 kB"), :size("626.668 kB"), :text("12 kB")} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Samples: 309K of event 'cycles:uppp', Event count (approx.): 4170574512271976 | |
Overhead Command Shared Object Symbol ◆ | |
15.23% moar libmoar.so [.] MVM_interp_run ▒ | |
9.45% moar libpthread-2.25.so [.] __lll_lock_wait ▒ | |
3.93% moar libmoar.so [.] MVM_gc_allocate_object ▒ | |
3.16% moar libmoar.so [.] MVM_repr_clone ▒ | |
2.97% moar libmoar.so [.] MVM_hll_current ▒ | |
2.74% moar libmoar.so [.] MVM_spesh_arg_guard_run ▒ | |
2.45% moar libmoar.so [.] MVM_gc_mark_thread_blocked ▒ | |
2.40% moar perf-26126.map [.] 0x00007fb29c0dd702 ▒ | |
2.38% moar libmoar.so [.] MVM_fixed_size_alloc ▒ | |
2.34% moar perf-26126.map [.] 0x00007fb29c0dc000 ▒ | |
2.28% moar perf-26126.map [.] 0x00007fb29cfbc10d ▒ | |
2.13% moar libc-2.25.so [.] free ▒ | |
1.94% moar libmoar.so [.] MVM_multi_cache_find_callsite_args ▒ | |
1.90% moar libmoar.so [.] MVM_sc_get_object ▒ | |
1.90% moar libperl6_ops_moar.so [.] rakudo_scalar_store ▒ | |
1.83% moar libmoar.so [.] MVM_fixed_size_alloc_zeroed ▒ | |
1.82% moar libmoar.so [.] MVM_frame_try_return ▒ | |
1.65% moar libmoar.so [.] uv__hrtime@plt ▒ | |
1.58% moar libmoar.so [.] MVM_bigint_bool ▒ | |
1.58% moar libmoar.so [.] ssa ▒ | |
1.57% moar libpthread-2.25.so [.] __lll_unlock_wake ▒ | |
1.43% moar libc-2.25.so [.] syscall ▒ | |
1.39% moar libperl6_ops_moar.so [.] p6bool ▒ | |
1.39% moar perf-26126.map [.] 0x00007fb29cfbb000 ▒ | |
1.39% perl6-m libc-2.25.so [.] __strchr_sse2 ▒ | |
1.35% moar libc-2.25.so [.] __GI___libc_read ▒ | |
1.28% moar libmoar.so [.] MVM_frame_invoke ▒ | |
1.27% moar libmoar.so [.] at_key ▒ | |
1.11% moar libmoar.so [.] MVM_sc_get_sc_object ▒ | |
1.10% git ld-2.25.so [.] _start ▒ | |
1.08% moar libperl6_ops_moar.so [.] p6decontrv ▒ | |
1.08% moar libmoar.so [.] MVM_args_slurpy_named |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
A possibly interesting piece of information: If I run MasterDuke's example with /usr/bin/time on my 64 bit vm I get
what's interesting, at least to me, is what happens if I move the declarations of @tags and @commits out of the loop, i.e.
If I rerun the code with this small change the results are as follows
Compare the maxresident numbers.