Ticket #1770 (closed RFC: fixed)

Opened 4 years ago

Last modified 4 years ago

Boolean PMC without Integer

Reported by: Paul C. Anagnostopoulos Owned by: Paul C. Anagnostopoulos
Priority: normal Milestone:
Component: core Version: 2.6.0
Severity: low Keywords:
Cc: Language:
Patch status: Platform:

Description

This ticket represents work being doing on a new Boolean PMC that does not inherit from Integer. The work is being done in the sleeker_boolean branch. The central idea, suggested by chromatic, is to eliminate the dependency on Integer and store the boolean value in a PObj flag.

I have implemented a new PMC that passes the boolean tests. It looks like boolean operations are about 20% faster, primarily due to the fact that they don't require allocating attribute blocks.

Attachments

boolean.pmc Download (4.3 KB) - added by Paul C. Anagnostopoulos 4 years ago.
new boolean.pmc as of ticket creation

Change History

Changed 4 years ago by Paul C. Anagnostopoulos

  • status changed from new to assigned
  • owner set to Paul C. Anagnostopoulos

Changed 4 years ago by Paul C. Anagnostopoulos

new boolean.pmc as of ticket creation

Changed 4 years ago by Paul C. Anagnostopoulos

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

The sleeker_boolean branch has been merged. This new Boolean appears to be about 20% faster on a boolean-intensive benchmark, primarily due to the fact that it doesn't allocate an attribute block. Thanks to chromatic for pointing out that we could use a PObj flag for the boolean, and thanks to kid51 for helping me merge the branch.

Changeset  http://trac.parrot.org/parrot/changeset/48966

Changed 4 years ago by Paul C. Anagnostopoulos

Changed 4 years ago by Paul C. Anagnostopoulos

  • status changed from closed to reopened
  • resolution fixed deleted

I should leave this open for a few days.

Changed 4 years ago by whiteknight

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

This issue is resolved and no complaints in 2 months. I'm closing.

Note: See TracTickets for help on using tickets.