Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
dryman
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
5 ms
·
1.
▲
TPU-KNN: K Nearest Neighbor Search at Peak Flop/S
(arxiv.org)
1 points
by
dryman
4y ago
|
0 comments
2.
▲
Learn Hash Table the Hard Way
(idryman.org)
27 points
by
dryman
9y ago
|
0 comments
3.
▲
Learn Hash Table the Hard Way – Part 1: Probe Distributions
(idryman.org)
3 points
by
dryman
9y ago
|
0 comments
4.
▲
Learn Hash Table the Hard Way – Part 2: Probe Distribution with Deletions
(idryman.org)
2 points
by
dryman
9y ago
|
0 comments
5.
▲
Learn hash table the hard way – part 1: probe distributions
(idryman.org)
2 points
by
dryman
9y ago
|
0 comments
6.
▲
by
dryman
9y ago
Awesome. This will be a super useful reference once I want to migrate the library to C++.
7.
▲
by
dryman
9y ago
All these concerns are critical, and this is why I spent 6 months to build OPIC malloc prototype. I surveyed a lot on state of the art malloc implementations, as well as some POC papers. The model I implemented is similar to scalloc and sup
8.
▲
by
dryman
9y ago
If I use a strict subset of C++, probably will do. However, figuring out the subset of different C++ standards and implementation that doesn't include extra pointers is hard. I might need to re-implement some useful utilities like uniq
9.
▲
by
dryman
9y ago
I don't have a good answer to this question yet. For now I only create the heap in swap, write it to disk, and then use it as read only mmap. To ensure the written file is valid, one can write it to a temporal file first, once confirme
10.
▲
by
dryman
9y ago
The problem is C++ brings in many extra pointers. For example, the vtable pointer used in virtual functions. All the pointers not converted to offset can be invalid in next process that deserializes the object.
11.
▲
by
dryman
9y ago
Author here. I did think about creating a programming language specialized for serialization. Fortunately, using just C seems to be sufficient for building a POC. Another advantage for using C is it is easier to embed into other languages.
12.
▲
Writing a Memory Allocator for Fast Serialization
(idryman.org)
79 points
by
dryman
9y ago
|
22 comments
13.
▲
by
dryman
9y ago
Lemire's fast range works perfectly with cuckoo, as it doesn't require probing (?). The fast mod and scale trick was invented to address this issue. It's actually pretty funny. I didn't know Lemire's trick until I s
14.
▲
by
dryman
9y ago
Thanks for pointing out the thread-unsafe alternative. I'll update the benchmark with it and double I configured it with cityhash. (will update in a day or two). Speaking of cityhash, have you tried farmhash as well? I'm not sure
15.
▲
by
dryman
9y ago
In my experiments using linear probing in robin hood doesn't give good results as well. I hope the author has tried robin hood with quadratic probing. But it's a good reference. I didn't dive deep in the cuckoo route. This pa
16.
▲
by
dryman
9y ago
Thanks for raising this up. I spent way way more time on OPIC (almost a year) than robin hood hash map (2 weeks to complete the POC). Glad to see people noticing this project :) The other comment pointed out MDBM, which I didn't know a
17.
▲
by
dryman
9y ago
Wow that's a very interesting post! Maybe I should try to bring a rust binding to my project as well..
18.
▲
by
dryman
9y ago
When I first see "sorted array", my first impression is it is sorted by the "original key". If we look for the hashed value in hash table, all hash tables are "sorted array" with this definition. Also there
19.
▲
by
dryman
9y ago
Thanks for pointing out. I used std::string mainly because I suck at C++ :(. In C I can easily define the key length to be a variable passed to the constructor, but I don't know how to do the same with C++.
20.
▲
by
dryman
9y ago
1) I don't see why a linear probing robin hood is a sorted array? Can you explain more? Robin hood hashing doesn't limit which probing scheme you use. I end up with quadratic probing which gives me both good cache locality and goo
21.
▲
by
dryman
9y ago
I found some performance numbers from Yahoo. https://yahooeng.tumblr.com/post/104861108931/mdbm-high-spee... It has random read time 0.45 μs. On my late 2013 iMac, i5 cpu, I got 0.089 μs random read. I yet to have
22.
▲
by
dryman
9y ago
Thanks for the reference. I'm collecting a list of embedded key-value store to benchmark against. I'll tryout with this one first!
23.
▲
by
dryman
9y ago
Hi I'm the author for this post. My general guideline is figure out where your bottleneck is, and optimize on the hotspot first. In your description, I can only try my best to guess where the bottleneck could possibly be... First of al
24.
▲
Autoconf Tutorial Part 1
(idryman.org)
6 points
by
dryman
11y ago
|
0 comments
25.
▲
Writing 64 Bit Assembly on Mac OS X
(idryman.org)
3 points
by
dryman
12y ago
|
0 comments
26.
▲
by
dryman
12y ago
Looks pretty similar to ethercalc... https://ethercalc.org
27.
▲
Swift wtf
(swiftwtf.tumblr.com)
14 points
by
dryman
12y ago
|
1 comments
28.
▲
by
dryman
13y ago
Thanks for advice. We have a lot discussions of the agreement, but written in Chinese. We'll translate those to English and expose the context to the world.
29.
▲
by
dryman
13y ago
https://www.youtube.com/watch?v=OIAe3DREUhI http://instagram.com/p/l-Duu5By7B/ Some recorded video of how police beat people
30.
▲
by
dryman
13y ago
https://www.youtube.com/watch?v=iV8JDbtXZm4 We video taped and written a song for the occupation. Even compare to other protest in countries, we are so proud our people in protest is peaceful and well organized. People who
More ›