Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
c421718
Add io_uring interface based on liburing.
dongx-psu Dec 7, 2020
6c844ac
update yml for azure pipelines.
dongx-psu Dec 7, 2020
d01cdce
Create cmake.yml
dongx-psu Dec 7, 2020
fc48a06
Update cmake.yml
dongx-psu Dec 7, 2020
81823db
Update cmake.yml
dongx-psu Dec 7, 2020
1e2e1ae
change to vec interface.
dongx-psu Dec 7, 2020
4c1d946
retry when have EINTR or EAGAIN.
dongx-psu Dec 7, 2020
4e14c5a
Seems fixed it. But very bad fix....
Dec 7, 2020
096d8e7
Try getting rid of retry....
Dec 7, 2020
b1d3b9d
Revert "Try getting rid of retry...."
Dec 7, 2020
cd36b33
get rid of one copy.
Dec 7, 2020
6c28ad2
Change yml to main liburing repo and a release tag.
dongx-psu Dec 7, 2020
1a66ab4
Create msbuild.yml
dongx-psu Dec 7, 2020
c73ec5b
Update msbuild.yml
dongx-psu Dec 7, 2020
45def2e
Update msbuild.yml
dongx-psu Dec 7, 2020
6d88f60
Update msbuild.yml
dongx-psu Dec 7, 2020
586ec91
Update msbuild.yml
dongx-psu Dec 7, 2020
be98d51
Update msbuild.yml
dongx-psu Dec 7, 2020
88a8b44
remove experimental for filesystem.
dongx-psu Dec 7, 2020
9c43791
Merge branch 'master' of github.com:dongx-psu/FishStore into master
dongx-psu Dec 7, 2020
f5b42fc
rename workloads to proper name.
dongx-psu Dec 15, 2020
a8eaa5c
Adapt simdjson v0.9.1
Mar 25, 2021
77f6562
Merge branch 'master' of github.com:dongx-psu/FishStore
Mar 25, 2021
46fa6f7
update.
Mar 25, 2021
3c8b316
Update simdjson_adapter.h
dongx-psu Mar 25, 2021
4b66b8c
Fix a timing issue in the unit test.
dongx-psu Mar 25, 2021
aff4c64
tweak the number a bit more.
dongx-psu Mar 25, 2021
d7da582
Merge branch 'master' into master
dongx-psu Aug 28, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: CMake

on: [push]

env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release

jobs:
build:
# The CMake configure and build commands are platform agnostic and should work equally
# well on Windows or Mac. You can convert this to a matrix build if you need
# cross-platform coverage.
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
runs-on: ubuntu-20.04

steps:
- name: Checkout reposistory
uses: actions/checkout@master

- name: Checkout submodules
run: git submodule update --init --recursive

- name: Install dependencies
run: sudo apt install -y g++ libaio-dev uuid-dev libtbb-dev

- name: Install liburing
run: |
git clone https://git.kernel.dk/liburing
cd liburing
git checkout liburing-0.7
./configure
sudo make install

- name: Create Build Environment
# Some projects don't allow in-source building, so create a separate build directory
# We'll use this as our working directory for all subsequent commands
run: cmake -E make_directory ${{runner.workspace}}/build

- name: Configure CMake
# Use a bash shell so we can use the same syntax for environment variable
# access regardless of the host operating system
shell: bash
working-directory: ${{runner.workspace}}/build
# Note the current convention is to use the -S and -B options here to specify source
# and build directories, but this is only available with CMake 3.13 and higher.
# The CMake binaries on the Github Actions machines are (as of this writing) 3.12
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE

- name: Build
working-directory: ${{runner.workspace}}/build
shell: bash
# Execute the build. You can specify a specific target with "--target <NAME>"
run: cmake --build . --config $BUILD_TYPE

- name: Test
working-directory: ${{runner.workspace}}/build
shell: bash
# Execute tests defined by the CMake configuration.
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
run: ctest -j 1 --interactive-debug-mode 0 --output-on-failure -R .*_test
59 changes: 59 additions & 0 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: MSBuild

on: [push]

env:
# Path to the solution file relative to the root of the project.
SOLUTION_FILE_PATH: .

# Configuration type to build.
# You can convert this to a build matrix if you need coverage of multiple configuration types.
# https://docs.github.com/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
BUILD_CONFIGURATION: Release

jobs:
build:
runs-on: windows-latest

steps:
- name: Checkout reposistory
uses: actions/checkout@master

- name: Checkout submodules
run: git submodule update --init --recursive

- name: Add msbuild to PATH
uses: microsoft/[email protected]
#with:
# vs-version: '[16.4,16.5)'

- name: Get latest CMake and ninja
uses: lukka/get-cmake@latest

- name: Create Build Environment
# Some projects don't allow in-source building, so create a separate build directory
# We'll use this as our working directory for all subsequent commands
run: cmake -E make_directory ${{runner.workspace}}/build

- name: Configure CMake
# Use a bash shell so we can use the same syntax for environment variable
# access regardless of the host operating system
shell: bash
working-directory: ${{runner.workspace}}/build
# Note the current convention is to use the -S and -B options here to specify source
# and build directories, but this is only available with CMake 3.13 and higher.
# The CMake binaries on the Github Actions machines are (as of this writing) 3.12
run: cmake $GITHUB_WORKSPACE -G "Visual Studio 16 2019"

- name: Build
working-directory: ${{runner.workspace}}/build
# Add additional options to the MSBuild command line here (like platform or verbosity level).
# See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference
run: msbuild /m /p:Configuration=${{env.BUILD_CONFIGURATION}} FishStore.sln

- name: Test
working-directory: ${{runner.workspace}}/build
shell: bash
# Execute tests defined by the CMake configuration.
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
run: ctest -j 1 --interactive-debug-mode 0 --output-on-failure -C ${{env.BUILD_CONFIGURATION}} -R .*_test
2 changes: 1 addition & 1 deletion azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:

- job: 'cppLinux'
pool:
vmImage: ubuntu-16.04
vmImage: ubuntu-20.04
displayName: 'C++ (Linux)'

steps:
Expand Down
2 changes: 1 addition & 1 deletion examples/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
if(WIN32)
set (FISHSTORE_BENCHMARK_LINK_LIBS fishstore rpcrt4 wsock32 Ws2_32)
else()
set (FISHSTORE_BENCHMARK_LINK_LIBS fishstore stdc++fs uuid tbb gcc aio m stdc++ pthread dl)
set (FISHSTORE_BENCHMARK_LINK_LIBS fishstore stdc++fs uuid tbb gcc aio m stdc++ pthread dl uring)
endif()

#Function to automate building benchmark binaries
Expand Down
4 changes: 2 additions & 2 deletions examples/checkpoint_recovery-dir/checkpoint_recovery.cc
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

#include <atomic>
#include <cstdio>
#include <experimental/filesystem>
#include <filesystem>
#include <memory>
#include <fstream>

Expand Down Expand Up @@ -209,7 +209,7 @@ int main(int argc, char* argv[]) {
"Finish loading %u batches (%zu records) of json into the memory....\n",
json_batch_cnt, record_cnt);

std::experimental::filesystem::create_directory(argv[5]);
std::filesystem::create_directory(argv[5]);
size_t store_size = 1LL << atoi(argv[4]);
size_t hash_table_size = 1LL << 24;
{
Expand Down
6 changes: 3 additions & 3 deletions examples/github_query-dir/github_query.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// Licensed under the MIT license.

#include <cstdio>
#include <experimental/filesystem>
#include <filesystem>
#include <fstream>

#include "adapters/simdjson_adapter.h"
Expand Down Expand Up @@ -198,7 +198,7 @@ int main(int argc, char* argv[]) {
printf("Finish loading %u batches (%zu records) of json into the memory....\n",
json_batch_cnt, record_cnt);

std::experimental::filesystem::create_directory(argv[5]);
std::filesystem::create_directory(argv[5]);
size_t store_size = 1LL << atoi(argv[4]);
store_t store{ (1L << 24), store_size, argv[5] };

Expand All @@ -213,7 +213,7 @@ int main(int argc, char* argv[]) {
auto predicate1_id =
store.MakeInlinePSF({ "/type", "/payload/action" }, lib_id, "opened_issue");
auto predicate2_id =
store.MakeInlinePSF({ "/type", "/payload/pull_request/head.repo/language" }, lib_id, "cpp_pr");
store.MakeInlinePSF({ "/type", "/payload/pull_request/head/repo/language" }, lib_id, "cpp_pr");

std::vector<ParserAction> parser_actions;
parser_actions.push_back({ REGISTER_GENERAL_PSF, id_proj });
Expand Down
4 changes: 2 additions & 2 deletions examples/online_demo-dir/online_demo.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// Licensed under the MIT license.

#include <cstdio>
#include <experimental/filesystem>
#include <filesystem>
#include <fstream>

#define _NULL_DISK
Expand Down Expand Up @@ -207,7 +207,7 @@ int main(int argc, char* argv[]) {
printf("Finish loading %u batches (%zu records) of json into the memory....\n",
json_batch_cnt, record_cnt);

std::experimental::filesystem::create_directory(argv[4]);
std::filesystem::create_directory(argv[4]);
size_t store_size = 1LL << atoi(argv[3]);
store_t store{ (1L << 24), store_size, argv[4] };

Expand Down
4 changes: 2 additions & 2 deletions examples/online_demo_disk-dir/online_demo_disk.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// Licensed under the MIT license.

#include <cstdio>
#include <experimental/filesystem>
#include <filesystem>
#include <fstream>

#include "adapters/simdjson_adapter.h"
Expand Down Expand Up @@ -204,7 +204,7 @@ int main(int argc, char* argv[]) {
printf("Finish loading %u batches (%zu records) of json into the memory....\n",
json_batch_cnt, record_cnt);

std::experimental::filesystem::create_directory(argv[4]);
std::filesystem::create_directory(argv[4]);
size_t store_size = 1LL << atoi(argv[3]);
store_t store{ (1L << 24), store_size, argv[4] };

Expand Down
4 changes: 2 additions & 2 deletions examples/twitter_query-dir/twitter_query.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// Licensed under the MIT license.

#include <cstdio>
#include <experimental/filesystem>
#include <filesystem>
#include <fstream>

#include "adapters/simdjson_adapter.h"
Expand Down Expand Up @@ -198,7 +198,7 @@ int main(int argc, char* argv[]) {
printf("Finish loading %u batches (%zu records) of json into the memory....\n",
json_batch_cnt, record_cnt);

std::experimental::filesystem::create_directory(argv[5]);
std::filesystem::create_directory(argv[5]);
size_t store_size = 1LL << atoi(argv[4]);
store_t store{ (1L << 24), store_size, argv[5] };

Expand Down
2 changes: 1 addition & 1 deletion src/adapters/common_utils.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class StringRef {
return size;
}

private:
public:
const char* ptr;
size_t size;
};
Expand Down
Loading