Skip to content

Instantly share code, notes, and snippets.

@dogbert17
Created September 24, 2017 14:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dogbert17/87247c9265e1f343590412950f32efa2 to your computer and use it in GitHub Desktop.
Save dogbert17/87247c9265e1f343590412950f32efa2 to your computer and use it in GitHub Desktop.
callgrind
-- script
use v6;
my int $max = 200_000;
# find all primes up to $max using The Sieve of Erathostenes
my int @a = (0..$max);
for (2..($max div 2)) -> int $i {
my int $j = 2;
@a[$i * $j++] = 1 while $i * $j <= $max;
}
# remove discarded numbers and store the rest in a set for ease of lookup
my @primes = @a.grep(-> int $num {$num > 1});
say @primes.sum;
-- 2017.07
--------------------------------------------------------------------------------
Ir
--------------------------------------------------------------------------------
7,861,290,267 PROGRAM TOTALS
--------------------------------------------------------------------------------
Ir file:function
--------------------------------------------------------------------------------
2,846,389,087 .rakudobrew/moar-2017.07/nqp/MoarVM/src/core/interp.c:MVM_interp_run [/home/dogbert/.rakudobrew/moar-2017.07/install/lib/libmoar.so]
426,455,742 /build/eglibc-0jBZkF/eglibc-2.19/string/../sysdeps/i386/i686/multiarch/memset-sse2.S:__memset_sse2 [/lib/i386-linux-gnu/libc-2.19.so]
422,310,325 .rakudobrew/moar-2017.07/nqp/MoarVM/src/core/frame.c:MVM_frame_invoke [/home/dogbert/.rakudobrew/moar-2017.07/install/lib/libmoar.so]
313,966,188 .rakudobrew/moar-2017.07/nqp/MoarVM/src/core/frame.c:MVM_frame_try_return [/home/dogbert/.rakudobrew/moar-2017.07/install/lib/libmoar.so]
215,412,336 .rakudobrew/moar-2017.07/nqp/MoarVM/src/core/fixedsizealloc.c:MVM_fixed_size_alloc [/home/dogbert/.rakudobrew/moar-2017.07/install/lib/libmoar.so]
210,357,654 .rakudobrew/moar-2017.07/nqp/MoarVM/src/core/frame.c:allocate_frame [/home/dogbert/.rakudobrew/moar-2017.07/install/lib/libmoar.so]
199,402,032 .rakudobrew/moar-2017.07/nqp/MoarVM/src/core/fixedsizealloc.c:MVM_fixed_size_free [/home/dogbert/.rakudobrew/moar-2017.07/install/lib/libmoar.so]
184,938,546 ???:__x86.get_pc_thunk.bx [/home/dogbert/.rakudobrew/moar-2017.07/install/share/perl6/runtime/dynext/libperl6_ops_moar.so]
177,358,637 /usr/include/i386-linux-gnu/bits/string3.h:allocate_frame
138,801,558 .rakudobrew/moar-2017.07/nqp/MoarVM/src/core/fixedsizealloc.c:MVM_fixed_size_alloc_zeroed [/home/dogbert/.rakudobrew/moar-2017.07/install/lib/libmoar.so]
137,073,118 .rakudobrew/moar-2017.07/nqp/MoarVM/src/core/args.c:MVM_args_proc_init [/home/dogbert/.rakudobrew/moar-2017.07/install/lib/libmoar.so]
123,392,852 .rakudobrew/moar-2017.07/nqp/MoarVM/src/6model/sc.c:MVM_sc_get_sc_object [/home/dogbert/.rakudobrew/moar-2017.07/install/lib/libmoar.so]
106,577,701 .rakudobrew/moar-2017.07/nqp/MoarVM/src/6model/sc.c:MVM_sc_get_object [/home/dogbert/.rakudobrew/moar-2017.07/install/lib/libmoar.so]
93,732,769 .rakudobrew/moar-2017.07/nqp/MoarVM/src/6model/reprs/VMArray.c:bind_pos [/home/dogbert/.rakudobrew/moar-2017.07/install/lib/libmoar.so]
93,284,465 .rakudobrew/moar-2017.07/nqp/MoarVM/src/core/args.c:MVM_args_set_result_obj [/home/dogbert/.rakudobrew/moar-2017.07/install/lib/libmoar.so]
88,763,200 .rakudobrew/moar-2017.07/nqp/MoarVM/src/6model/reprs/P6opaque.c:get_int [/home/dogbert/.rakudobrew/moar-2017.07/install/lib/libmoar.so]
88,469,678 .rakudobrew/moar-2017.07/nqp/MoarVM/src/6model/reprs/P6opaque.c:get_attribute [/home/dogbert/.rakudobrew/moar-2017.07/install/lib/libmoar.so]
83,934,054 .rakudobrew/moar-2017.07/nqp/MoarVM/src/core/intcache.c:MVM_intcache_get [/home/dogbert/.rakudobrew/moar-2017.07/install/lib/libmoar.so]
72,013,842 .rakudobrew/moar-2017.07/nqp/MoarVM/src/6model/sc.c:MVM_sc_get_sc [/home/dogbert/.rakudobrew/moar-2017.07/install/lib/libmoar.so]
69,490,505 .rakudobrew/moar-2017.07/nqp/MoarVM/src/core/frame.c:MVM_frame_find_invokee_multi_ok [/home/dogbert/.rakudobrew/moar-2017.07/install/lib/libmoar.so]
63,523,381 .rakudobrew/moar-2017.07/nqp/MoarVM/src/core/args.c:MVM_args_proc_cleanup [/home/dogbert/.rakudobrew/moar-2017.07/install/lib/libmoar.so]
56,499,995 .rakudobrew/moar-2017.07/nqp/MoarVM/src/core/coerce.c:MVM_box_int [/home/dogbert/.rakudobrew/moar-2017.07/install/lib/libmoar.so]
54,608,969 .rakudobrew/moar-2017.07/nqp/MoarVM/src/6model/reprconv.c:MVM_repr_get_int [/home/dogbert/.rakudobrew/moar-2017.07/install/lib/libmoar.so]
52,353,248 .rakudobrew/moar-2017.07/nqp/MoarVM/src/6model/reprs/MVMMultiCache.c:MVM_multi_cache_find_callsite_args [/home/dogbert/.rakudobrew/moar-2017.07/install/lib/libmoar.so]
49,929,348 .rakudobrew/moar-2017.07/nqp/MoarVM/src/6model/reprs/P6bigint.c:get_int [/home/dogbert/.rakudobrew/moar-2017.07/install/lib/libmoar.so]
-- current
--------------------------------------------------------------------------------
Ir
--------------------------------------------------------------------------------
9,483,595,755 PROGRAM TOTALS
--------------------------------------------------------------------------------
Ir file:function
--------------------------------------------------------------------------------
3,292,064,878 nqp/MoarVM/src/core/interp.c:MVM_interp_run [/home/dogbert/repos/rakudo/install/lib/libmoar.so]
393,774,371 nqp/MoarVM/src/6model/reprs/MVMMultiCache.c:MVM_multi_cache_find_callsite_args [/home/dogbert/repos/rakudo/install/lib/libmoar.so]
393,523,793 /build/eglibc-0jBZkF/eglibc-2.19/string/../sysdeps/i386/i686/multiarch/memset-sse2.S:__memset_sse2 [/lib/i386-linux-gnu/libc-2.19.so]
310,332,196 nqp/MoarVM/src/spesh/arg_guard.c:MVM_spesh_arg_guard_run [/home/dogbert/repos/rakudo/install/lib/libmoar.so]
306,728,703 nqp/MoarVM/src/core/frame.c:MVM_frame_invoke [/home/dogbert/repos/rakudo/install/lib/libmoar.so]
273,448,561 nqp/MoarVM/src/core/frame.c:MVM_frame_try_return [/home/dogbert/repos/rakudo/install/lib/libmoar.so]
238,577,165 nqp/MoarVM/src/core/frame.c:allocate_frame [/home/dogbert/repos/rakudo/install/lib/libmoar.so]
212,947,982 ???:__x86.get_pc_thunk.bx [/home/dogbert/repos/rakudo/install/lib/libmoar.so]
203,323,993 nqp/MoarVM/src/core/fixedsizealloc.c:MVM_fixed_size_alloc [/home/dogbert/repos/rakudo/install/lib/libmoar.so]
187,523,404 nqp/MoarVM/src/core/fixedsizealloc.c:MVM_fixed_size_free [/home/dogbert/repos/rakudo/install/lib/libmoar.so]
157,592,093 nqp/MoarVM/src/core/frame.c:MVM_frame_find_invokee_multi_ok [/home/dogbert/repos/rakudo/install/lib/libmoar.so]
141,909,068 nqp/MoarVM/src/6model/sc.c:MVM_sc_get_object [/home/dogbert/repos/rakudo/install/lib/libmoar.so]
129,914,358 nqp/MoarVM/src/core/fixedsizealloc.c:MVM_fixed_size_alloc_zeroed [/home/dogbert/repos/rakudo/install/lib/libmoar.so]
113,097,996 nqp/MoarVM/src/core/args.c:MVM_args_proc_init [/home/dogbert/repos/rakudo/install/lib/libmoar.so]
104,216,832 nqp/MoarVM/src/6model/sc.c:MVM_sc_get_sc_object [/home/dogbert/repos/rakudo/install/lib/libmoar.so]
96,515,791 nqp/MoarVM/src/6model/reprs/VMArray.c:bind_pos [/home/dogbert/repos/rakudo/install/lib/libmoar.so]
88,748,928 nqp/MoarVM/src/6model/reprs/P6opaque.c:get_int [/home/dogbert/repos/rakudo/install/lib/libmoar.so]
87,643,647 nqp/MoarVM/src/core/args.c:MVM_args_set_result_obj [/home/dogbert/repos/rakudo/install/lib/libmoar.so]
84,890,358 nqp/MoarVM/src/core/intcache.c:MVM_intcache_get [/home/dogbert/repos/rakudo/install/lib/libmoar.so]
82,280,520 nqp/MoarVM/src/spesh/stats.c:by_offset [/home/dogbert/repos/rakudo/install/lib/libmoar.so]
68,899,370 nqp/MoarVM/src/core/frame.c:MVM_frame_find_invokee [/home/dogbert/repos/rakudo/install/lib/libmoar.so]
65,171,031 /build/eglibc-0jBZkF/eglibc-2.19/malloc/malloc.c:_int_malloc [/lib/i386-linux-gnu/libc-2.19.so]
61,172,160 nqp/MoarVM/src/6model/reprs/MVMCode.c:invoke_handler [/home/dogbert/repos/rakudo/install/lib/libmoar.so]
59,679,836 nqp/MoarVM/src/core/args.c:MVM_args_proc_cleanup [/home/dogbert/repos/rakudo/install/lib/libmoar.so]
56,470,944 nqp/MoarVM/src/core/coerce.c:MVM_box_int [/home/dogbert/repos/rakudo/install/lib/libmoar.so]
54,623,390 nqp/MoarVM/src/6model/reprconv.c:MVM_repr_get_int [/home/dogbert/repos/rakudo/install/lib/libmoar.so]
51,110,867 nqp/MoarVM/src/spesh/stats.c:MVM_spesh_stats_update [/home/dogbert/repos/rakudo/install/lib/libmoar.so]
49,921,320 nqp/MoarVM/src/6model/reprs/P6bigint.c:get_int [/home/dogbert/repos/rakudo/install/lib/libmoar.so]
47,137,048 nqp/MoarVM/src/spesh/log.h:MVM_interp_run
46,254,688 nqp/MoarVM/src/6model/serialization.c:MVM_serialization_read_int [/home/dogbert/repos/rakudo/install/lib/libmoar.so]
41,449,580 nqp/MoarVM/src/6model/containers.c:MVM_6model_container_decont_i [/home/dogbert/repos/rakudo/install/lib/libmoar.so]
40,184,917 nqp/MoarVM/src/6model/reprconv.c:MVM_repr_box_int [/home/dogbert/repos/rakudo/install/lib/libmoar.so]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment