ctrie-java
RVS_Generic_Swift_Toolbox
ctrie-java | RVS_Generic_Swift_Toolbox | |
---|---|---|
1 | 3 | |
1 | 6 | |
- | - | |
10.0 | 4.4 | |
almost 4 years ago | 4 months ago | |
Java | Swift | |
Apache License 2.0 | 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.
ctrie-java
-
Ask HN: What are some 'cool' but obscure data structures you know about?
Concurrent tries with non-blocking snapshots [0]
Say that you have a dataset that needs to be ordered, easily searchable, but is also updated quite frequently. Fast accesses are a pain if you decide to use traditional read-write locks.
Ctries are entirely lock-free, thus there is no waiting for your read operations when an update is happening, i.e. you run lookups on snapshots while updates happen.
They are also a lot of fun to implement, especially if you aren't familiar with lock-free algorithms! I did learn a lot doing it myself [1]
[0] http://aleksandar-prokopec.com/resources/docs/ctries-snapsho...
[1] https://github.com/mabeledo/ctrie-java
RVS_Generic_Swift_Toolbox
-
Internationalization best practices for front-end developers
[0] https://github.com/RiftValleySoftware/RVS_Generic_Swift_Tool...
[1] https://github.com/RiftValleySoftware/RVS_Generic_Swift_Tool...
[2] https://github.com/RiftValleySoftware/RVS_Generic_Swift_Tool...
[3] https://developer.apple.com/library/archive/documentation/Co...
-
Ask HN: What are some 'cool' but obscure data structures you know about?
Ole Begemann and Chris Eidhoff wrote Advanced Swift, and, in there, described a really efficient FIFO queue.
I implemented a variant ofit, in my Generic Swift Toolbox Package[0]. It’s lightning fast.
[0] https://github.com/RiftValleySoftware/RVS_Generic_Swift_Tool...
-
Swift Playgrounds 4
Found it, but it's not what I need.
I need a target to be a playground; not a project.
The idea is to be able to assign resources, files, and SPM modules to a playground, so they are available to the code running in the playground (an example might be an SPM module like my Generic Swift Toolbox Module[0]). I can then work with the code I'm prototyping in a lightweight text file.
[0] https://github.com/RiftValleySoftware/RVS_Generic_Swift_Tool...
What are some alternatives?
PSI - Private Set Intersection Cardinality protocol based on ECDH and Bloom Filters
plurid-data-structures-typescript - Utility Data Structures Implemented in TypeScript
minisketch - Minisketch: an optimized library for BCH-based set reconciliation
dictomaton - Finite state dictionaries in Java
sdsl-lite - Succinct Data Structure Library 2.0
pvfmm - A parallel kernel-independent FMM library for particle and volume potentials
CPython - The Python programming language
swift - the multiparty transport protocol (aka "TCP with swarming" or "BitTorrent at the transport layer")
Folly - An open-source C++ library developed and used at Facebook.
hamt - A hash array-mapped trie implementation in C
RoaringBitmap - A better compressed bitset in Java: used by Apache Spark, Netflix Atlas, Apache Pinot, Tablesaw, and many others
ego - EGraphs in OCaml