rakunqp

Will writing module in NQP (Not Quite Perl) speed up perl6 program?


NQP was mainly designed to bootstrap the perl6 language, but I'm thinking whether it is possible to use it as optimization. I know that rakudo is not perfectly optimized yet, but I'm looking for a long term approach. Perl6 has some low level data types and some compiler and backend level ideas that could make this idea pointless.

Does writing NQP instead of perl6 make sense?


Solution

  • Long term there's no benefit to implementing your code in NQP.

    Short term, you might get a speed boost, but the code is harder to implement and won't be as easy to target multiple backends.

    Additionally, NQP isn't going to receive the same level of user-facing support that rakudo is. You should consider NQP more like internals; things may change from release to release that you're not expecting.