Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
graph-tool
graph-tool
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 45
    • Issues 45
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Tiago Peixoto
  • graph-toolgraph-tool
  • Merge Requests
  • !33

Merged
Opened Jul 10, 2020 by Jeff Trull@jaafarContributor

Use lambdas and pack expansion to reduce template instantiations in action_dispatch

  • Overview 11
  • Commits 1
  • Pipelines 4
  • Changes 2

This change produces significant reductions in compiler memory use (4.15GB to 2.81GB in my graph_assortativity testcase) and compiler runtime (180m to 168m overall, 206s to 188s in the testcase) by:

  1. Performing type iteration with parameter pack expansion where possible
  2. Testing the stored boost::any types sequentially instead of all at once (M+N instead of M*N operations)

I see no significant change in runtime with this approach, though it should in theory be an improvement.

Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Reference: count0/graph-tool!33
Source branch: improved-action-dispatch