luthern / expert-spoon Goto Github PK
View Code? Open in Web Editor NEWOS Project Fall 2016
OS Project Fall 2016
So I have been looking at ways to do the key value store and there seem to be two possible ways to do a relatively fast key value store. What we use will probably be decided based on what features we want.
We can do something like the B+ tree that was mentioned earlier. This will allow us to do things other than just the simple get, insert, delete etc. For example getting a range would be much easier. It will not be the easiest to implement however.
A simpler way to do it however might just be with a very large hashtable. We could use a hashing algorithm such as FarmHash truncated to something like 28 bits, and then use a bucketing system to store the actual key value pairs. It will take up more memory and doing things such as querying for ranges will not be as easy, however it will probably be a tad faster and will be much easier to implement. We seem to have an abundance of memory though so using a couple gigabytes for the hashtable doesn't seem to be so bad.
I was wondering if anyone had any thoughts on either of these two strategies, or any input in general.
Since github issues are pretty nice we might as well use them lol.
Anyways I was wondering if there was any style guide that we want to follow. I really like to use clang-format when I am developing and I guess having some guidelines for the code we commit could be nice. We could decide on what we want and then just have one commit to fix all the formatting to the style we chose.
From what I can tell 'parseLine' in the testclient file 'main.cpp' allocates the 'struct send_message request' as a local variable and then returns it. Does that work? I would imagine we should be passing the struct by reference but I'm pretty awful at C++.
It seemed like we were getting random data from the client at the KV store when I was playing with it last night, but I could have made a mistake there.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.