marisa-trie
Closure Tree
marisa-trie | Closure Tree | |
---|---|---|
1 | 2 | |
1,013 | 1,824 | |
0.8% | 0.5% | |
5.9 | 5.7 | |
9 days ago | 3 months ago | |
Cython | Ruby | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
marisa-trie
-
Optimizing Memory Usage of Python Applications
Optimizing applications is difficult problem in general. It also heavily depends on the task at hand as well as the type of data itself. In this article we looked at common ways to find memory usage issues and some options for fixing them. There are however many other approaches to reducing memory footprint of an application. This includes trading accuracy for storage space by using probabilistic data structures such as bloom filters or HyperLogLog. Another option is using tree-like data structures like DAWG or Marissa trie which are very efficient at storing string data.
Closure Tree
-
Hierarchical Structures in PostgreSQL
I'm actually using materialized views and CTE with PhotoStructure (where hierarchies are arguably the cornerstone of the product).
It's pretty funny that I landed on this implementation, given that I spent a couple years building https://github.com/ClosureTree/closure_tree (one of the most popular acts-as-hierarchy ActiveRecord gems), as it (unsurprisingly) uses closure trees.
When CTE isn't available, closure trees are nice, but boy howdy, does that closure tree table get gigantic with deeper graphs.
If CTE is available, closure trees don't even come close in performance and simplicity.
(Hint: materialized paths should use a unique separator: ASCII 0x1F is applicable: https://en.wikipedia.org/wiki/C0_and_C1_control_codes#Field_...)
-
Find all objects of a chain of associations on the same table
I’ve used this for that https://github.com/ClosureTree/closure_tree
What are some alternatives?
DSAlgo - 📚A repository that contains all the Data Structures and Algorithms concepts and solutions to various problems in Python3 stored in a structured manner.👨💻🎯
Ancestry - Organise ActiveRecord model into a tree structure
DAWG - DAFSA-based dictionary-like read-only objects for Python. Based on `dawgdic` C++ library.
Awesome Nested Set - An awesome replacement for acts_as_nested_set and better_nested_set.
data-structures - A collection of powerful data structures
ActsAsTree - ActsAsTree -- Extends ActiveRecord to add simple support for organizing items into parent–children relationships.
laravel-nestedset - Effective tree structures in Laravel 4-8
rails_or - Cleaner syntax for writing OR Query in Rails 5, 6. And also add #or support to Rails 3 and 4.
Mongoid Tree - A tree structure for Mongoid documents using the materialized path pattern
DbTextSearch - A unified interface on top of ActiveRecord for case-insensitive string-in-set and prefix querying, and full-text search on SQLite, MySQL, and PostgreSQL.
ActiveRecordExtended - Adds additional postgres functionality to an ActiveRecord / Rails application
Rails PG Extras - Rails PostgreSQL database performance insights. Locks, index usage, buffer cache hit ratios, vacuum stats and more.