# To display the perf.data header info, please use --header/--header-only options. # # # Total Lost Samples: 0 # # Samples: 1K of event 'cpu-clock:ppp' # Event count (approx.): 126000000 # # Overhead Samples Command Shared Object Symbol # ........ ............ ....... .................... ................................................................................................................................................................................................................................................................................................................................................................. # 7.22% 91 osh oils-for-unix [.] MarkSweepHeap::Allocate(unsigned long, int*, int*) 4.92% 62 osh oils-for-unix [.] Dict::hash_and_probe(BigStr*) const 3.10% 39 osh oils-for-unix [.] BigStr::hash(unsigned int (*)(char const*, int)) 2.78% 35 osh oils-for-unix [.] MarkSweepHeap::Sweep() 2.46% 31 osh oils-for-unix [.] state::Mem::_ResolveNameOrRef(BigStr*, runtime_asdl::scope_e, List*) 2.30% 29 osh oils-for-unix [.] cmd_eval::CommandEvaluator::_Execute(syntax_asdl::command_t*) 2.06% 26 osh oils-for-unix [.] state::Mem::GetValue(BigStr*, runtime_asdl::scope_e) 1.98% 25 osh oils-for-unix [.] cmd_eval::CommandEvaluator::_Dispatch(syntax_asdl::command_t*, runtime_asdl::CommandStatus*) 1.98% 25 osh oils-for-unix [.] cmd_eval::CommandEvaluator::_DoShAssignment(syntax_asdl::command__ShAssignment*, runtime_asdl::CommandStatus*) 1.90% 24 osh oils-for-unix [.] word_::FastStrEval(syntax_asdl::CompoundWord*) 1.83% 23 osh oils-for-unix [.] MarkSweepHeap::TraceChildren() 1.83% 23 osh oils-for-unix [.] state::Mem::_ResolveNameOnly(BigStr*, runtime_asdl::scope_e) 1.75% 22 osh oils-for-unix [.] split::IfsSplitter::Split(BigStr*, bool) 1.75% 22 osh oils-for-unix [.] word_eval::AbstractWordEvaluator::_EvalWordPart(syntax_asdl::word_part_t*, List*, int) 1.59% 20 osh oils-for-unix [.] List::reserve(int) [clone .part.0] 1.43% 18 osh oils-for-unix [.] Dict::find_kv_index(BigStr*) const 1.43% 18 osh oils-for-unix [.] word_eval::AbstractWordEvaluator::EvalRhsWord(syntax_asdl::rhs_word_t*) 1.43% 18 osh oils-for-unix [.] word_eval::AbstractWordEvaluator::_EvalWordFrame(List*, List*) 1.35% 17 osh oils-for-unix [.] sh_expr_eval::ArithEvaluator::Eval(syntax_asdl::arith_expr_t*) 1.35% 17 osh oils-for-unix [.] word_eval::AbstractWordEvaluator::_EvalSimpleVarSub(syntax_asdl::SimpleVarSub*, List*, bool) 1.27% 16 osh oils-for-unix [.] sh_expr_eval::ArithEvaluator::_StringToBigInt(BigStr*, syntax_asdl::loc_t*) 1.19% 15 osh oils-for-unix [.] List::reserve(int) [clone .part.0] 1.19% 15 osh oils-for-unix [.] word_eval::AbstractWordEvaluator::_PartValsToString(List*, syntax_asdl::CompoundWord*, int, List*) 1.11% 14 osh oils-for-unix [.] word_eval::AbstractWordEvaluator::EvalWordSequence2(List*, bool) 1.03% 13 osh oils-for-unix [.] word_eval::AbstractWordEvaluator::EvalWordToString(syntax_asdl::word_t*, int) 0.95% 12 osh oils-for-unix [.] BigStr::replace(BigStr*, BigStr*, int) 0.95% 12 osh oils-for-unix [.] List*>::reserve(int) [clone .part.0] 0.95% 12 osh oils-for-unix [.] state::Mem::SetValue(value_asdl::sh_lvalue_t*, value_asdl::value_t*, runtime_asdl::scope_e, int) 0.79% 10 osh oils-for-unix [.] List* Alloc>() 0.79% 10 osh oils-for-unix [.] List::reserve(int) [clone .part.0] 0.79% 10 osh oils-for-unix [.] MarkSweepHeap::MaybeMarkAndPush(RawObject*) 0.79% 10 osh oils-for-unix [.] dev::Tracer::_ShTraceBegin() 0.71% 9 osh oils-for-unix [.] BigStr::startswith(BigStr*) 0.71% 9 osh oils-for-unix [.] bracket_osh::Test::Run(runtime_asdl::cmd_value__Argv*) 0.71% 9 osh oils-for-unix [.] executor::ShellExecutor::PushProcessSub() 0.71% 9 osh oils-for-unix [.] state::Mem::SetNamed(value_asdl::LeftName*, value_asdl::value_t*, runtime_asdl::scope_e, int) 0.71% 9 osh oils-for-unix [.] word_eval::_MakeWordFrames(List*) 0.63% 8 osh libc.so.6 [.] 0x0000000000199d83 0.63% 8 osh oils-for-unix [.] List*>::append(Tuple2*) 0.63% 8 osh oils-for-unix [.] cmd_eval::CommandEvaluator::RunPendingTraps() 0.63% 8 osh oils-for-unix [.] runtime_asdl::Piece* Alloc(BigStr*&, bool&, bool&&) 0.63% 8 osh oils-for-unix [.] state::Mem::ScopesForReading() 0.63% 8 osh oils-for-unix [.] trap_osh::TrapState::GetPendingTraps() 0.56% 7 osh oils-for-unix [.] StringToInt64(char const*, int, int, long*) 0.56% 7 osh oils-for-unix [.] sh_expr_eval::ArithEvaluator::EvalToBigInt(syntax_asdl::arith_expr_t*) 0.56% 7 osh oils-for-unix [.] sh_expr_eval::ArithEvaluator::_ValToIntOrError(value_asdl::value_t*, syntax_asdl::arith_expr_t*) 0.48% 6 osh oils-for-unix [.] cmd_eval::CommandEvaluator::_CheckStatus(int, runtime_asdl::CommandStatus*, syntax_asdl::command_t*, syntax_asdl::loc_t*) 0.48% 6 osh oils-for-unix [.] consts::IfsEdge(int, int) 0.48% 6 osh oils-for-unix [.] executor::ShellExecutor::PopProcessSub(runtime_asdl::StatusArray*) 0.48% 6 osh oils-for-unix [.] glob_::GlobUnescape(BigStr*) 0.48% 6 osh oils-for-unix [.] keys_equal(BigStr*, BigStr*) 0.48% 6 osh oils-for-unix [.] lexer::LazyStr(syntax_asdl::Token*) 0.48% 6 osh oils-for-unix [.] sh_expr_eval::ArithEvaluator::EvalShellLhs(syntax_asdl::sh_lhs_t*, runtime_asdl::scope_e) 0.40% 5 osh libc.so.6 [.] 0x0000000000199de2 0.40% 5 osh oils-for-unix [.] BigStr::slice(int, int) 0.40% 5 osh oils-for-unix [.] List* Alloc>() 0.40% 5 osh oils-for-unix [.] List* Alloc>() 0.40% 5 osh oils-for-unix [.] cmd_eval::CommandEvaluator::_ExecuteList(List*) 0.40% 5 osh oils-for-unix [.] cmd_eval::CommandEvaluator::_MaybeRunDebugTrap() 0.40% 5 osh oils-for-unix [.] executor::ShellExecutor::RunSimpleCommand(runtime_asdl::cmd_value__Argv*, runtime_asdl::CommandStatus*, int) 0.40% 5 osh oils-for-unix [.] value_asdl::value__Int* Alloc(long&) 0.32% 4 osh libc.so.6 [.] _IO_default_xsputn 0.32% 4 osh libc.so.6 [.] 0x00000000000476be 0.32% 4 osh libc.so.6 [.] 0x000000000005a2ef 0.32% 4 osh libc.so.6 [.] 0x0000000000199324 0.32% 4 osh libc.so.6 [.] 0x0000000000199a80 0.32% 4 osh libc.so.6 [.] 0x0000000000199b68 0.32% 4 osh libc.so.6 [.] 0x00000000001a0f94 0.32% 4 osh libc.so.6 [.] 0x00000000001a0fa4 0.32% 4 osh oils-for-unix [.] List::at(int) 0.32% 4 osh oils-for-unix [.] List::append(mylib::BufWriter*) 0.32% 4 osh oils-for-unix [.] List::reserve(int) [clone .part.0] 0.32% 4 osh oils-for-unix [.] List::append(runtime_asdl::StatusArray*) 0.32% 4 osh oils-for-unix [.] braces::BraceExpandWords(List*) 0.32% 4 osh oils-for-unix [.] consts::LookupNormalBuiltin(BigStr*) 0.32% 4 osh oils-for-unix [.] hash_key(BigStr*) 0.32% 4 osh oils-for-unix [.] hash_key(int) 0.32% 4 osh oils-for-unix [.] mylib::BufWriter::write(BigStr*) 0.32% 4 osh oils-for-unix [.] mylib::split_once(BigStr*, BigStr*) 0.32% 4 osh oils-for-unix [.] runtime_asdl::VarSubState* Alloc(bool&&, bool&&, bool&&) 0.32% 4 osh oils-for-unix [.] split::SplitContext::_GetSplitter(BigStr*) 0.32% 4 osh oils-for-unix [.] word_eval::AbstractWordEvaluator::_DetectMetaBuiltinStr(BigStr*) 0.32% 4 osh oils-for-unix [.] word_eval::_ValueToPartValue(value_asdl::value_t*, bool, syntax_asdl::word_part_t*) 0.24% 3 osh [kernel.kallsyms] [k] 0xffffffff9b9eb4c9 0.24% 3 osh libc.so.6 [.] __snprintf_chk 0.24% 3 osh libc.so.6 [.] 0x00000000000477e0 0.24% 3 osh libc.so.6 [.] 0x00000000000a273f 0.24% 3 osh libc.so.6 [.] 0x00000000001a080d 0.24% 3 osh oils-for-unix [.] Dict::at(BigStr*) const 0.24% 3 osh oils-for-unix [.] Dict::hash_and_probe(int) const 0.24% 3 osh oils-for-unix [.] List::append(executor::_ProcessSubFrame*) 0.24% 3 osh oils-for-unix [.] List::pop() 0.24% 3 osh oils-for-unix [.] List::reserve(int) [clone .part.0] 0.24% 3 osh oils-for-unix [.] List* Alloc>() 0.24% 3 osh oils-for-unix [.] bracket_osh::_StringWordEmitter::ReadWord(types_asdl::lex_mode_e) 0.24% 3 osh oils-for-unix [.] dev::Tracer::OnShAssignment(value_asdl::sh_lvalue_t*, syntax_asdl::assign_op_e, value_asdl::value_t*, int, runtime_asdl::scope_e) 0.24% 3 osh oils-for-unix [.] mops::ToStr(long) 0.24% 3 osh oils-for-unix [.] mylib::JoinBytes(List*) 0.24% 3 osh oils-for-unix [.] sh_expr_eval::BoolEvaluator::EvalB(syntax_asdl::bool_expr_t*) 0.24% 3 osh oils-for-unix [.] sh_expr_eval::BoolEvaluator::_StringToBigIntOrError(BigStr*, syntax_asdl::word_t*) 0.24% 3 osh oils-for-unix [.] split::_SpansToParts(BigStr*, List*>*) 0.24% 3 osh oils-for-unix [.] syntax_asdl::loc__Arith* Alloc(syntax_asdl::arith_expr_t*&) 0.24% 3 osh oils-for-unix [.] syntax_asdl::loc__Word* Alloc(syntax_asdl::word_t*&) 0.24% 3 osh oils-for-unix [.] word_eval::AbstractWordEvaluator::_EmptyStrOrError(value_asdl::value_t*, syntax_asdl::Token*) 0.24% 3 osh oils-for-unix [.] word_eval::AbstractWordEvaluator::_EvalWordToParts(syntax_asdl::CompoundWord*, List*, int) 0.16% 2 osh [kernel.kallsyms] [k] 0xffffffff9af509ad 0.16% 2 osh [kernel.kallsyms] [k] 0xffffffff9b949105 0.16% 2 osh [kernel.kallsyms] [k] 0xffffffff9b9696c7 0.16% 2 osh libc.so.6 [.] __errno_location 0.16% 2 osh libc.so.6 [.] cfree 0.16% 2 osh libc.so.6 [.] 0x0000000000047693 0.16% 2 osh libc.so.6 [.] 0x0000000000088402 0.16% 2 osh libc.so.6 [.] 0x000000000008e5e0 0.16% 2 osh libc.so.6 [.] 0x00000000000a2a2d 0.16% 2 osh libc.so.6 [.] 0x0000000000199a88 0.16% 2 osh libc.so.6 [.] 0x0000000000199d79 0.16% 2 osh libc.so.6 [.] 0x0000000000199d7d 0.16% 2 osh libc.so.6 [.] 0x000000000019d414 0.16% 2 osh oils-for-unix [.] BigStr::join(List*) 0.16% 2 osh oils-for-unix [.] Dict::hash_and_probe(BigStr*) const 0.16% 2 osh oils-for-unix [.] List*>::at(int) 0.16% 2 osh oils-for-unix [.] List::reserve(int) [clone .part.0] 0.16% 2 osh oils-for-unix [.] List::extend(List*) 0.16% 2 osh oils-for-unix [.] List* Alloc>() 0.16% 2 osh oils-for-unix [.] MarkSweepHeap::MaybeCollect() 0.16% 2 osh oils-for-unix [.] bracket_osh::_ThreeArgs(bracket_osh::_StringWordEmitter*) 0.16% 2 osh oils-for-unix [.] cmd_eval::CommandEvaluator::_DoSimple(syntax_asdl::command__Simple*, runtime_asdl::CommandStatus*) 0.16% 2 osh oils-for-unix [.] dev::Tracer::_RichTraceBegin(BigStr*) 0.16% 2 osh oils-for-unix [.] executor::ShellExecutor::RunBuiltin(int, runtime_asdl::cmd_value__Argv*) 0.16% 2 osh oils-for-unix [.] flag_util::LookupFlagSpec(BigStr*) 0.16% 2 osh oils-for-unix [.] match::BracketBinary(BigStr*) 0.16% 2 osh oils-for-unix [.] match::BracketOther(BigStr*) 0.16% 2 osh oils-for-unix [.] mops::FromStr(BigStr*, int) 0.16% 2 osh oils-for-unix [.] sh_expr_eval::BoolEvaluator::_EvalCompoundWord(syntax_asdl::word_t*, int) 0.16% 2 osh oils-for-unix [.] split::SplitContext::SplitForWordEval(BigStr*, BigStr*) 0.16% 2 osh oils-for-unix [.] value_asdl::LeftName* Alloc(BigStr*&, syntax_asdl::Token*&) 0.16% 2 osh oils-for-unix [.] value_asdl::value__Str* Alloc(BigStr*&&) 0.16% 2 osh oils-for-unix [.] word_eval::_BackslashEscape(BigStr*) 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9aaae793 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9aaae7b0 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9ab03144 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9ac088c6 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9ad4c1a4 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9ad4d9f7 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9ad58928 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9ada2654 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9ada2ae7 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9ada2b2a 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9ada532e 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9ada64e4 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9adad606 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9adb864d 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9add42ca 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9add691e 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9ae0f3a1 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9ae3bb08 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9ae3bb1a 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9ae3edd2 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9ae3f6d6 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9ae87023 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9ae870c9 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9aeb3c12 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9af323a5 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9af323d3 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9afab1c2 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9afac1af 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9b9479e9 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9b94bd41 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9b95651f 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9b96d80d 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9b9d1d1c 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9b9e4ebe 0.08% 1 osh [kernel.kallsyms] [k] 0xffffffff9b9e7fc0 0.08% 1 osh ld-linux-x86-64.so.2 [.] 0x000000000000b784 0.08% 1 osh ld-linux-x86-64.so.2 [.] 0x0000000000011429 0.08% 1 osh ld-linux-x86-64.so.2 [.] 0x000000000001145a 0.08% 1 osh ld-linux-x86-64.so.2 [.] 0x0000000000018408 0.08% 1 osh ld-linux-x86-64.so.2 [.] 0x0000000000027293 0.08% 1 osh libc.so.6 [.] _IO_file_sync 0.08% 1 osh libc.so.6 [.] _IO_file_xsputn 0.08% 1 osh libc.so.6 [.] _IO_setb 0.08% 1 osh libc.so.6 [.] strtoimax 0.08% 1 osh libc.so.6 [.] write 0.08% 1 osh libc.so.6 [.] 0x0000000000047561 0.08% 1 osh libc.so.6 [.] 0x0000000000047585 0.08% 1 osh libc.so.6 [.] 0x0000000000047594 0.08% 1 osh libc.so.6 [.] 0x000000000004765d 0.08% 1 osh libc.so.6 [.] 0x0000000000047667 0.08% 1 osh libc.so.6 [.] 0x000000000004766c 0.08% 1 osh libc.so.6 [.] 0x000000000004766e 0.08% 1 osh libc.so.6 [.] 0x0000000000047674 0.08% 1 osh libc.so.6 [.] 0x00000000000477cf 0.08% 1 osh libc.so.6 [.] 0x000000000005a2dd 0.08% 1 osh libc.so.6 [.] 0x000000000005a2e8 0.08% 1 osh libc.so.6 [.] 0x000000000007514d 0.08% 1 osh libc.so.6 [.] 0x0000000000075247 0.08% 1 osh libc.so.6 [.] 0x0000000000075276 0.08% 1 osh libc.so.6 [.] 0x0000000000075a11 0.08% 1 osh libc.so.6 [.] 0x0000000000075ac6 0.08% 1 osh libc.so.6 [.] 0x0000000000075c77 0.08% 1 osh libc.so.6 [.] 0x0000000000075ca9 0.08% 1 osh libc.so.6 [.] 0x0000000000088403 0.08% 1 osh libc.so.6 [.] 0x0000000000088404 0.08% 1 osh libc.so.6 [.] 0x0000000000088461 0.08% 1 osh libc.so.6 [.] 0x000000000008e5ea 0.08% 1 osh libc.so.6 [.] 0x000000000008e6b8 0.08% 1 osh libc.so.6 [.] 0x000000000008f9c4 0.08% 1 osh libc.so.6 [.] 0x00000000000a26a0 0.08% 1 osh libc.so.6 [.] 0x00000000000a2709 0.08% 1 osh libc.so.6 [.] 0x00000000000a2802 0.08% 1 osh libc.so.6 [.] 0x00000000000a2a29 0.08% 1 osh libc.so.6 [.] 0x00000000001992c0 0.08% 1 osh libc.so.6 [.] 0x00000000001992d2 0.08% 1 osh libc.so.6 [.] 0x0000000000199328 0.08% 1 osh libc.so.6 [.] 0x0000000000199d73 0.08% 1 osh libc.so.6 [.] 0x0000000000199de5 0.08% 1 osh libc.so.6 [.] 0x000000000019d428 0.08% 1 osh libc.so.6 [.] 0x000000000019d43c 0.08% 1 osh libc.so.6 [.] 0x000000000019d445 0.08% 1 osh libc.so.6 [.] 0x00000000001a0f90 0.08% 1 osh libc.so.6 [.] 0x00000000001a0faa 0.08% 1 osh libc.so.6 [.] 0x00000000001a0fc7 0.08% 1 osh libgcc_s.so.1 [.] __cpu_indicator_init 0.08% 1 osh oils-for-unix [.] Dict::hash_and_probe(BigStr*) const 0.08% 1 osh oils-for-unix [.] List::at(int) 0.08% 1 osh oils-for-unix [.] List* Alloc>() 0.08% 1 osh oils-for-unix [.] List* Alloc>() 0.08% 1 osh oils-for-unix [.] Tuple2* Alloc, runtime_asdl::span_e, int&>(runtime_asdl::span_e&&, int&) 0.08% 1 osh oils-for-unix [.] bracket_osh::_WordEvaluator::EvalWordToString(syntax_asdl::word_t*, int) 0.08% 1 osh oils-for-unix [.] cmd_eval::CommandEvaluator::_RunSimpleCommand(runtime_asdl::cmd_value_t*, runtime_asdl::CommandStatus*, int) 0.08% 1 osh oils-for-unix [.] cmd_eval::CommandEvaluator::_StrictErrExitList(List*) 0.08% 1 osh oils-for-unix [.] consts::LookupAssignBuiltin(BigStr*) 0.08% 1 osh oils-for-unix [.] dev::Tracer::OnBuiltin(int, List*) 0.08% 1 osh oils-for-unix [.] dev::Tracer::OnSimpleCommand(List*) 0.08% 1 osh oils-for-unix [.] flag_util::_DoesNotAccept(syntax_asdl::ArgList*) 0.08% 1 osh oils-for-unix [.] match::BracketUnary(BigStr*) 0.08% 1 osh oils-for-unix [.] memcpy@plt 0.08% 1 osh oils-for-unix [.] mylib::BufWriter::EnsureMoreSpace(int) 0.08% 1 osh oils-for-unix [.] runtime_asdl::Piece* Alloc(BigStr*&&, bool&, bool&&) 0.08% 1 osh oils-for-unix [.] runtime_asdl::cmd_value__Argv* Alloc*&, List*&, decltype(nullptr), decltype(nullptr), decltype(nullptr), decltype(nullptr)>(List*&, List*&, decltype(nullptr)&&, decltype(nullptr)&&, decltype(nullptr)&&, decltype(nullptr)&&) [clone .isra.0] 0.08% 1 osh oils-for-unix [.] state::MutableOpts::Get(int) 0.08% 1 osh oils-for-unix [.] state::ctx_ErrExit::ctx_ErrExit(state::MutableOpts*, bool, syntax_asdl::Token*) 0.08% 1 osh oils-for-unix [.] state::ctx_ErrExit::~ctx_ErrExit() 0.08% 1 osh oils-for-unix [.] std::__detail::_Executor >, std::__cxx11::regex_traits, true>::_M_dfs(std::__detail::_Executor >, std::__cxx11::regex_traits, true>::_Match_mode, long) 0.08% 1 osh oils-for-unix [.] str_equals_c(BigStr*, char const*, int) 0.08% 1 osh oils-for-unix [.] trap_osh::TrapState::GetHook(BigStr*) 0.08% 1 osh oils-for-unix [.] ui::ctx_Location::~ctx_Location() 0.08% 1 osh oils-for-unix [.] value_asdl::value__Str* Alloc(BigStr*&) # # (Cannot load tips.txt file, please install perf!) #