Skip to content
This repository has been archived by the owner on Nov 9, 2017. It is now read-only.

Clean Up/Refactoring #383

Open
4 tasks
tradej opened this issue Jul 8, 2015 · 2 comments
Open
4 tasks

Clean Up/Refactoring #383

tradej opened this issue Jul 8, 2015 · 2 comments
Milestone

Comments

@tradej
Copy link
Member

tradej commented Jul 8, 2015

Since we're about to undergo the big client/server change, it would be good to get rid of code that we don't use, or simplify what we have based on observations from real world use. I propose these changes:

  • Remove caching - Based on my preliminary findings, caching saves very little time even with all assistants from DAPI installed (0.48 s vs 0.58 s over 100 runs when 26 assistants loaded, 0.22 s when no assistants are loaded, i. e. saving 0.0038 s per assistant)
  • Replace YamlChecker with a simple JSON Schema checker - In reporting syntax errors, the JSON Schema checker would most likely be less detailed and verbose than the current solution, but thanks to the standardised schema, it would be easily maintainable and scalable.
  • Get rid of GUI-specific stuff - Some rather low-level code floats around the place that exists only because the current GTK GUI requires it to function. We should look at it and remove as much as possible, and the move the rest into a maintainable, consolidated place.
  • Get rid of project_type - Project Type as currently defined in DA does not serve any purpose and should IMHO be deprecated.

Please, comment and/or suggest more actions that should be taken to simplify and clean the code base for the switch.

@tradej tradej added this to the 1.0 milestone Jul 8, 2015
@hroncok
Copy link
Member

hroncok commented Jul 8, 2015

  • Remove caching - I don't have strong opinion, based on your measurements, it seems useless indeed.
  • Replace YamlChecker with a simple JSON Schema checker - If it doesn't introduce more problems than it solves, why not.
  • Get rid of GUI-specific stuff - Yes please.
  • Get rid of project_type - I agree.

@tradej
Copy link
Member Author

tradej commented Jul 14, 2015

Update: My method of determining the cache efficiency was flawed, as I forgot that I have an SSD drive. Still, the caching mechanism should be dropped in favour of having an in-memory storage and generating probably some JSON structure that will be passed to clients.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants