Ticket #1563 (closed deprecation: fixed)

Opened 12 years ago

Last modified 12 years ago

Deprecation of unused runcores

Reported by: mikehh Owned by:
Priority: normal Milestone: 2.4
Component: none Version: 2.2.0
Severity: medium Keywords:
Cc: Language:
Patch status: Platform:


After discussion at the Parrot Virtual Developer Summit and in #parrotsketch as well as on list the following has been proposed:

1. Certain runcores, such as CGoto, CGP, Slow and possibly Switch do not seem to be used at all, and other than in make fulltest are not exercised.

2. Some special runcores, such as Trace, Profiling and GCDebug are useful for developers and should be retained, probably the Bounds runcore can go.

3. Maintaining runcores that we do not use is a waste of our scarce developer resources and furthermore, takes up compilation time and space in the parrot executable.

4. It has been proposed that profiling the Fast and Switch runcores to determine which is faster could be a useful exercise to see if we need to retain the Switch runcore.

Accordingly this is a deprecation notice for unused runcores to go in before the 2.3 release of parrot.

If there are any objections to this please comment here or on list and the objections will be considered carefully.


runcore_purge.45837.diff Download (124.8 KB) - added by jkeenan 12 years ago.
diff between runcore_purge branch and trunk (at branch point)

Change History

Changed 12 years ago by cotto

The cgoto, cgp and switch runcores are removed in the runcore_purge branch. In testing the (wall clock) timing of a Mandelbrot script on top of Rakudo, I found that cgoto was the fastest runcore, but the improvement over fast was by about 2.5%. I don't see that as being worth the extra maintenance burden and bloat cost.

I'd like to merge the branch at some point in the very near future, but I want to make sure that the people who care are ok with it.

Changed 12 years ago by jkeenan

diff between runcore_purge branch and trunk (at branch point)

Changed 12 years ago by cotto

  • status changed from new to closed
  • resolution set to fixed

The branch was merge in r45949 so I'm closing this ticket. Rakudo has been patched to only build ops for the C runcore. If any other HLLs with dynops need a patch, bug me on #parrot or see  http://github.com/rakudo/rakudo/commit/6783b52bd34ab2309423c054a5a0201c1761d6b4 for the fix.

Note: See TracTickets for help on using tickets.