Skip to content

Change Allocator #296

@ImkoMarijnissen

Description

@ImkoMarijnissen

Overview

One element which can have impact on the performance is the allocator; in this issue I will show the result of using the following allocators:

  1. The default allocator
  2. jemalloc
  3. mimalloc

Run on the cluster using 4GB of memory.

Results

Overall

Default:

{'ERROR': 13,
 'OPTIMAL': 122,
 'SATISFIABLE': 233,
 'UNKNOWN': 113,
 'UNSATISFIABLE': 6}

Jemalloc:

{'ERROR': 19,
 'OPTIMAL': 124,
 'SATISFIABLE': 226,
 'UNKNOWN': 112,
 'UNSATISFIABLE': 6}

Mimalloc:

{'ERROR': 16,
 'OPTIMAL': 125,
 'SATISFIABLE': 227,
 'UNKNOWN': 113,
 'UNSATISFIABLE': 6}

MiniZinc Scoring

  • Default: 359.68
  • Jemalloc: 364.62
  • Mimalloc: 361.7

Primal Integral

  • Default: 28.15
  • Jemalloc: 33.63
  • Mimalloc: 29.48

Conclusions

Overall, it appears that the default allocator is very reasonable. With both jemalloc and mimalloc, the number of OOM errors increased (from 6 to 12 and 9, respectively). It appears that jemalloc gets a better MiniZinc score, but this is not reflected in the primal integral.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions