Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
sirgallo
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
5 ms
·
1.
▲
by
sirgallo
1y ago
Hey, this is going to sound crazy, but I have been looking for someone to critique my code with as much care as you have and give real genuine feedback. I am going to take your input as learning experience.
2.
▲
by
sirgallo
1y ago
Understood, and again, thank you for picking apart my code. I will take some time to fully understand Go mem model and unsafe package before trying to tackle this problem again. In the meantime, do you have any resources I could take a look
3.
▲
by
sirgallo
1y ago
I went with option 1. On a mutation, I do a complete node copy where I also copy the key/value slices. When I set a child node for the first time or update a child, I create a branch new leaf node with a copy of the key/value. Thi
4.
▲
by
sirgallo
1y ago
Hi, thank you for the in depth response. I really needed to hear these things. I have gone ahead and addressed almost all of the issues that you pointed out. I updated the root to be the only point for compare and swap and on mutations I do
5.
▲
by
sirgallo
1y ago
sounds good, they are a bit hidden right now. also am most likely going to update the other docs.
6.
▲
by
sirgallo
1y ago
definitely, I can expand my comparisons and benchmarks
7.
▲
by
sirgallo
1y ago
yes I can take a look, thanks for passing that along
8.
▲
Cmapv2: A high performance, concurrent map
(github.com)
41 points
by
sirgallo
1y ago
|
27 comments
9.
▲
by
sirgallo
1y ago
Performance comparisons are made against go sync.Map, with cmapv2 on par or sometimes exceeding is on different workloads. It is both lock-free and thread safe, using atomic operations. It also supports sharding out of the box. cmapv2 with
10.
▲
Immutable data structures as database engines: an exploration
(github.com)
1 points
by
sirgallo
2y ago
|
1 comments
11.
▲
by
sirgallo
2y ago
MariV2 is an exploration of using an ordered array mapped trie as a database engine over traditional B+/LSM trees. Written purely in Go, it incorporates a version of MVCC and lock free atomic operations to achieve both high read and wr
12.
▲
by
sirgallo
2y ago
This project is also completely open source, so do with it as you wish. I have not seen any other implementations of concurrent, persistent array mapped tries, this was meant to be an exploration into beautiful data structures.
13.
▲
A new take on hash array mapped tries: MariV2, a performant, embedded database
(github.com)
3 points
by
sirgallo
2y ago
|
2 comments
14.
▲
by
sirgallo
2y ago
mariv2 looks to be a direct competitor to bbolt db. Also implemented in go, it utilizes a concurrent ordered array mapped trie as the storage engine, unlike most databases which utilize a B+ or LSM tree. The design is inspired by Phil Bagwe
15.
▲
by
sirgallo
2y ago
Hey, not sure how this came up but I’m the original author of the repository…thanks for taking a look at my code and thinking it was cool enough to post on here. If you have any questions let me know, or create an issue on the repository an
16.
▲
by
sirgallo
2y ago
Haven’t looked into it, there are upsides and downsides to everything, there is never a one size fits all solution
17.
▲
by
sirgallo
2y ago
Sure it may be weird, but my company utilized rsync for almost everything, and we were transferring files that were 100+Gb on the regular so this was actually a great tool to compare against since we were already using it for large file tra
18.
▲
by
sirgallo
2y ago
Hey, you can already do this. It is designed to be portable and usage is described in the cmd folder in separate markdown file. Can be used in docker as well, with server and client usage described.
19.
▲
by
sirgallo
2y ago
Hey man, had no reason to work on the code further, was a one man experimentation with no incentive to work on it further. The use of MD5 was not meant for security guarantees but instead as a way to ensure the integrity of content. There w