Skip to content

It makes sense to split/refactor library into multiple according levels of compliance  #143

@d1g

Description

@d1g

70K instances of 523K are just "24/7"

I.e. if I write "if (opening_hours="24/7") { } " my code will get 13% of the data correctly.

There should be

  • ruleset60% (or 70/80) - simplest and most popular cases (win in terms of performance and memory usage). It is a set of rules you can explain to newbies or just slightly more advanced cases.
  • ruleset90% - most cases without support for inconsistent data
  • ruleset95%+ - most sophisticated rule-set supporting all quirks and features in data

While I appreciate efforts to support almost 100% of the data out of box, but performance hit got too big:
1k/sec vs 20k/sec in AMDmi3 version

Another suggestion is to create libraries on top of each other, so you can get 100% opening_hours library simply by chaining calls to 3 libraries rs1 -> rs2 -> rs3 without overhead of common rules in (rs1, rs2) (rs1, rs3) (rs2, rs3)

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: featureIntroduction of new functionality.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions