This guide describes a profile-guided data structure specialization collection similar in spirit to Perflint, provided by the rackpgmp package.
Each instance of a list, vector, or seq provided by the collection is separately profiled using a naïve scoring system. Each instance keeps track of various scores. A score is kept for each potential data structure representation of the instance. For example, a list keeps two scores: one for list operations and one for vector operations. Each score measures how frequently operations that are asymptotically fast for that data structure are used on the instance. The operations provided by the modules of this collection use and increment these scores differently.
As currently implemented, these scores are not fine-grained and may not provide an accurate heuristic.