Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • adaptive adaptive
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 36
    • Issues 36
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 5
    • Merge requests 5
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Quantum TinkererQuantum Tinkerer
  • adaptiveadaptive
  • Issues
  • #126
Closed
Open
Issue created Dec 02, 2018 by Jorn Hoofwijk@JornGuest

(Learner1D) improve time complexity

As it appears the Learner1D is quite fast. Yet once add many points, it slows down quite a lot. Even though I am aware that in practice you will not add more than say, a thousand points. For testing I sometimes need to add 5000 points, which takes up to 50 seconds (on my slow laptop), which is slightly annoying.

Reason being that some parts of the Learner1D have a time complexity higher than should be strictly neccesary. i.e. : _ask_points_without_adding and _subdivide_quals have time complexity O(N), and they are called every time that ask is called, resulting in a total runtime of O(N^2) where N is the total number of added points.

And since I will make it faster anyway, I might as well make a MR

Assignee
Assign to
Time tracking