Skip to content

Commit abbaaca

Browse files
committed
Jsonifier Release v0.9.97
* Added likely/unlikely to a bunch of if/else statements. * Swapped std::copy_n for std::memcpy in a few places. * Moved a couple masks for the Neon functions out into global scope. * Replaced jsonifier_internal::const_iterator with jsonifier_internal::iterator. * Moved the vector of prettifier states out of the function scope to the prettifier classes' scope. * Separated jsonifier_internal::string_literal out into its own header. * Moved a bunch of string-utility functions out into the derailleur class. * Replaced the join function with combineLiterals. * Modified the logic of the parse_impl classes. * Implemented a compile-time jump table to improve parsing performance significantly. * Replaced the float/double parsing/serializing methods with more conformant version. * Modified the serializing code to no longer rely on hash-maps for serializing member. * Marked a bunch of additional functions as noexcept. * Added an ALWAYS_INLINE macro in addition to the INLINE one. * Modified the CPU-architecture selection method.
1 parent 09b36a8 commit abbaaca

File tree

328 files changed

+1096697
-1344166
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

328 files changed

+1096697
-1344166
lines changed
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Build-and-Test-CLANG-MacOS
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
branches:
7+
- main
8+
- dev
9+
10+
jobs:
11+
Build:
12+
runs-on: macos-latest
13+
14+
strategy:
15+
fail-fast: false
16+
matrix:
17+
build_type: [Debug, Release]
18+
19+
steps:
20+
- uses: actions/checkout@v4
21+
22+
- name: Set up Xcode
23+
run: |
24+
sudo xcode-select -s /Applications/Xcode_15.4.app/Contents/Developer
25+
xcodebuild -version
26+
27+
- name: Configure CMake
28+
run: cmake -B build -G Xcode -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DJSONIFIER_TEST="TRUE"
29+
30+
- name: Build the Test
31+
working-directory: ./Build
32+
run: |
33+
cmake --build . --config=${{matrix.build_type}}
34+
35+
- name: Install the Test
36+
working-directory: ./Build
37+
run: |
38+
sudo cmake --install . --config=${{matrix.build_type}}
39+
40+
- name: Run the Test
41+
working-directory: /usr/local/bin/
42+
run: |
43+
sudo chmod +x ./Json-Performance
44+
./Json-Performance
45+
continue-on-error: true
46+

.github/workflows/CLANG-MacOS.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ on:
66
branches:
77
- main
88
- dev
9-
- newerBranch
109

1110
jobs:
1211
Build:
@@ -15,9 +14,7 @@ jobs:
1514
strategy:
1615
fail-fast: false
1716
matrix:
18-
clang: [17]
1917
build_type: [Debug, Release]
20-
std: [20]
2118

2219
steps:
2320
- uses: actions/checkout@v4
@@ -26,14 +23,18 @@ jobs:
2623
run: |
2724
brew install llvm
2825
26+
- name: Install Seaborn
27+
run: |
28+
pip install seaborn
29+
2930
- name: Install Nasm.
3031
run: |
3132
brew install nasm
3233
3334
- name: Configure CMake
3435
working-directory: ./
3536
run: |
36-
cmake -S . -B ./Build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_COMPILER=/opt/homebrew/opt/llvm/bin/clang++ -DDEV="TRUE" -DJSONIFIER_TEST=true
37+
cmake -S . -B ./Build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_COMPILER=/opt/homebrew/opt/llvm/bin/clang++ -DJSONIFIER_TEST="TRUE"
3738
3839
- name: Build the Test
3940
working-directory: ./Build

.github/workflows/CLANG-Ubuntu.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Build-and-Test-CLANG-Ubuntu
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
branches:
7+
- main
8+
- dev
9+
10+
jobs:
11+
Build:
12+
runs-on: ubuntu-latest
13+
14+
strategy:
15+
fail-fast: false
16+
matrix:
17+
build_type: [Debug, Release]
18+
19+
steps:
20+
- uses: actions/checkout@v4
21+
22+
- name: Install the latest Clang compiler.
23+
working-directory: Tests
24+
run: |
25+
sudo apt update && sudo apt upgrade
26+
wget https://apt.llvm.org/llvm.sh
27+
chmod u+x llvm.sh
28+
sudo ./llvm.sh 20
29+
30+
- name: Install Seaborn
31+
run: |
32+
pip install seaborn
33+
34+
- name: Configure CMake
35+
working-directory: ./
36+
run: |
37+
cmake -S . -B ./Build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_COMPILER=/usr/bin/clang++-20 -DJSONIFIER_TEST="TRUE"
38+
39+
- name: Build the Test
40+
working-directory: ./Build
41+
run: |
42+
cmake --build . --config=${{matrix.build_type}} -v
43+
44+
- name: Install the Test
45+
working-directory: ./Build
46+
run: |
47+
sudo cmake --install . --config=${{matrix.build_type}}
48+
49+
- name: Run the Test
50+
working-directory: ./Build/Tests
51+
run: |
52+
./Json-Performance
53+
continue-on-error: true
54+

.github/workflows/GCC-Ubuntu.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ on:
66
branches:
77
- main
88
- dev
9-
- newerBranch
109

1110
jobs:
1211
Build:
@@ -15,9 +14,7 @@ jobs:
1514
strategy:
1615
fail-fast: false
1716
matrix:
18-
gcc: [12]
1917
build_type: [Debug, Release]
20-
std: [20]
2118

2219
steps:
2320
- uses: actions/checkout@v4
@@ -26,17 +23,21 @@ jobs:
2623
working-directory: Tests
2724
run: |
2825
sudo apt-get install build-essential
29-
sudo apt-get install g++-12
26+
sudo apt-get install g++-14
27+
28+
- name: Install Seaborn
29+
run: |
30+
pip install seaborn
3031
3132
- name: Configure CMake
3233
working-directory: ./
3334
run: |
34-
cmake -S . -B ./Build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_COMPILER=/usr/bin/g++-12 -DDEV="TRUE" -DJSONIFIER_TEST=true
35+
cmake -S . -B ./Build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_COMPILER=/usr/bin/g++-12 -DJSONIFIER_TEST="TRUE"
3536
3637
- name: Build the Test
3738
working-directory: ./Build
3839
run: |
39-
cmake --build . --config=${{matrix.build_type}}
40+
cmake --build . --config=${{matrix.build_type}} -v
4041
4142
- name: Install the Test
4243
working-directory: ./Build

.github/workflows/MSVC-Windows.yml

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ on:
66
branches:
77
- main
88
- dev
9-
- newerBranch
109

1110
jobs:
1211
Build:
@@ -15,9 +14,7 @@ jobs:
1514
strategy:
1615
fail-fast: false
1716
matrix:
18-
msvc: [2022]
1917
build_type: [Debug, Release]
20-
std: [20]
2118

2219
steps:
2320
- uses: actions/checkout@v4
@@ -28,20 +25,25 @@ jobs:
2825
name: PATH
2926
value: $env:PATH;C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build
3027

28+
- name: Configure CMake for Jsonifier
29+
run: |
30+
cmake -S . -B ./Build -DCMAKE_BUILD_TYPE=${{matrix.build_type}}
31+
32+
- name: Install Seaborn
33+
run: |
34+
pip install seaborn
35+
3136
- name: Configure CMake
32-
working-directory: ./
3337
run: |
34-
cmake -S . -B ./Build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DDEV="TRUE" -DJSONIFIER_TEST=true
38+
cmake -S . -B ./Build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DJSONIFIER_TEST="TRUE"
3539
3640
- name: Build the Test
37-
working-directory: ./Build
3841
run: |
39-
cmake --build . --config=${{matrix.build_type}}
42+
cmake --build ./Build --config=${{matrix.build_type}} -v
4043
4144
- name: Install the Test
42-
working-directory: ./Build
4345
run: |
44-
cmake --install . --config=${{matrix.build_type}}
46+
cmake --install ./Build --config=${{matrix.build_type}}
4547
4648
- name: Run the Test
4749
working-directory: C:/Program Files (x86)/Jsonifier/bin/
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: Update-Loc-Repo
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
branches:
7+
- main
8+
- dev
9+
10+
jobs:
11+
Build:
12+
runs-on: ubuntu-latest
13+
14+
strategy:
15+
fail-fast: false
16+
matrix:
17+
build_type: [Release]
18+
19+
steps:
20+
- uses: actions/checkout@v4
21+
with:
22+
persist-credentials: true
23+
24+
- name: Clone the repo.
25+
run: |
26+
sudo git config --global user.email "[email protected]"
27+
sudo git config --global user.name "realtimechris"
28+
sudo git clone https://realtimechris:${{ secrets.PERSONAL_ACCESS_TOKEN }}@github.com/realtimechris/Jsonifier-Code-Only --depth=1
29+
30+
- name: Copy the files over.
31+
run: |
32+
sudo cp -r ./Include/* ./Jsonifier-Code-Only/
33+
34+
- name: Commit and push the changes to the repo.
35+
working-directory: ./Jsonifier-Code-Only
36+
run: |
37+
sudo git checkout --orphan newBranch
38+
sudo git add .
39+
sudo git commit -m "Updates."
40+
sudo git branch -D main
41+
sudo git branch -m main
42+
sudo git push origin main -f
43+

CMake/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
cmake_minimum_required(VERSION 3.10)
22
project(FeatureDetection)
3-
3+
set(CMAKE_CXX_STANDARD 17)
44
# Add your source file(s)
55
add_executable(feature_detector main.cpp)

0 commit comments

Comments
 (0)