RVS_Generic_Swift_Toolbox
ctrie-java
RVS_Generic_Swift_Toolbox | ctrie-java | |
---|---|---|
3 | 1 | |
6 | 1 | |
- | - | |
4.4 | 10.0 | |
4 months ago | about 4 years ago | |
Swift | Java | |
MIT License | Apache License 2.0 |
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.
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...
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
What are some alternatives?
plurid-data-structures-typescript - Utility Data Structures Implemented in TypeScript
PSI - Private Set Intersection Cardinality protocol based on ECDH and Bloom Filters
dictomaton - Finite state dictionaries in Java
minisketch - Minisketch: an optimized library for BCH-based set reconciliation
pvfmm - A parallel kernel-independent FMM library for particle and volume potentials
sdsl-lite - Succinct Data Structure Library 2.0
swift - the multiparty transport protocol (aka "TCP with swarming" or "BitTorrent at the transport layer")
CPython - The Python programming language
hamt - A hash array-mapped trie implementation in C
Folly - An open-source C++ library developed and used at Facebook.
ego - EGraphs in OCaml
RoaringBitmap - A better compressed bitset in Java: used by Apache Spark, Netflix Atlas, Apache Pinot, Tablesaw, and many others