File: closure.pl

package info (click to toggle)
libdevel-nytprof-perl 5.06%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 2,396 kB
  • ctags: 1,413
  • sloc: perl: 4,905; ansic: 101; sh: 54; makefile: 17
file content (18 lines) | stat: -rw-r--r-- 428 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18


our $o;

for my $i (1..100_000) {

    my $named2 = \&bar; sub bar { return 1; 1+$l }  # non-closure
    my $named1 = \&foo; sub foo { return 1; 1+$o }  # non-closure
    my $anon1  =        sub     { return 1; 1+$o }; # non-closure
    my $anon2  =        sub     { return 1; 1+$l }; # closure

    $named2->();
    $named1->(); # faster because of cpu cache of opcode logic?
    $anon1->();
    $anon2->();

    1; # loop
}