Skip to content

Commit d657769

Browse files
committed
Jsonifier Release v0.9.95
* Added support for Arm-Neon 128-bit SIMD intrinsics. * Modified some lines to correct cleanliness. * Updated the raw_json_data class to remove superfluous functions. * Updated some of the error_codes. * Modified the parser, validator, serializer, and minifier classes to reduce function call overhead. * Refactored the usage of ascii_classes to instead utilize the json_structural_type enumeration. * Modified the CPU-detection script. * Added a new compare function to accelerate string comparisons. * Added MSVC, CLANG and GNU macros.
1 parent b6b8720 commit d657769

File tree

95 files changed

+122318
-47682
lines changed

Some content is hidden

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

95 files changed

+122318
-47682
lines changed

.github/FUNDING.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
custom: ['https://www.paypal.com/donate/?hosted_button_id=Z6RURQ8UCLQHY']

.github/workflows/GCC_13-MacOS.yml renamed to .github/workflows/CLANG_15-MacOS.yml

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
name: Build-and-Test-GCC-MacOS
1+
name: Build-and-Test-CLANG-MacOS
22

33
on:
4+
workflow_dispatch:
45
push:
56
branches:
67
- main
@@ -13,22 +14,17 @@ jobs:
1314
strategy:
1415
fail-fast: false
1516
matrix:
16-
gcc: [13]
17+
clang: [15]
1718
build_type: [Debug, Release]
1819
std: [20]
1920

2021
steps:
2122
- uses: actions/checkout@v3
2223

23-
- name: Install the latest g++ compiler.
24-
run: |
25-
brew install gcc
26-
2724
- name: Configure CMake
2825
working-directory: ./
2926
run: |
30-
31-
cmake -S . -B ./Build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_COMPILER=/usr/local/opt/gcc@13/bin/g++-13 -DDEV="TRUE" -DJSONIFIER_TEST=true
27+
cmake -S . -B ./Build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DDEV="TRUE" -DJSONIFIER_TEST=true
3228
3329
- name: Build the Test
3430
working-directory: ./Build
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
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+
clang: [17]
18+
build_type: [Debug, Release]
19+
std: [20]
20+
21+
steps:
22+
- uses: actions/checkout@v3
23+
24+
- name: Install the latest clang compiler.
25+
run: |
26+
brew install llvm
27+
ls /opt/homebrew/opt/llvm/bin
28+
29+
- name: Configure CMake
30+
working-directory: ./
31+
run: |
32+
cmake -S . -B ./Build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_COMPILER=/opt/homebrew/opt/llvm/bin/clang++ -DDEV="TRUE" -DJSONIFIER_TEST=true
33+
34+
- name: Build the Test
35+
working-directory: ./Build
36+
run: |
37+
cmake --build . --config=${{matrix.build_type}}
38+
39+
- name: Run the Test
40+
working-directory: ./Build/Tests
41+
run: |
42+
./Json-Performance
43+
continue-on-error: true
44+

.github/workflows/DeleteRuns.yml

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,46 +3,50 @@ on:
33
workflow_dispatch:
44
inputs:
55
days:
6-
description: 'Number of days.'
6+
description: 'Days-worth of runs to keep for each workflow'
77
required: true
8-
default: "0"
8+
default: '0'
99
minimum_runs:
10-
description: 'The minimum runs to keep for each workflow.'
10+
description: 'Minimum runs to keep for each workflow'
1111
required: true
12-
default: "1"
12+
default: '1'
1313
delete_workflow_pattern:
14-
description: 'The name or filename of the workflow. if not set then it will target all workflows.'
14+
description: 'Name or filename of the workflow (if not set, all workflows are targeted)'
1515
required: false
1616
delete_workflow_by_state_pattern:
17-
description: 'Remove workflow by state: active, deleted, disabled_fork, disabled_inactivity, disabled_manually'
17+
description: 'Filter workflows by state: active, deleted, disabled_fork, disabled_inactivity, disabled_manually'
1818
required: true
19-
default: "All"
19+
default: "ALL"
2020
type: choice
2121
options:
22-
- "All"
22+
- "ALL"
2323
- active
2424
- deleted
2525
- disabled_inactivity
2626
- disabled_manually
2727
delete_run_by_conclusion_pattern:
28-
description: 'Remove workflow by conclusion: action_required, cancelled, failure, skipped, success'
28+
description: 'Remove runs based on conclusion: action_required, cancelled, failure, skipped, success'
2929
required: true
30-
default: "All"
30+
default: "ALL"
3131
type: choice
3232
options:
33-
- "All"
33+
- "ALL"
34+
- "Unsuccessful: action_required,cancelled,failure,skipped"
3435
- action_required
3536
- cancelled
3637
- failure
3738
- skipped
3839
- success
3940
dry_run:
40-
description: 'Only log actions, do not perform any delete operations.'
41+
description: 'Logs simulated changes, no deletions are performed'
4142
required: false
4243

4344
jobs:
4445
del_runs:
4546
runs-on: ubuntu-latest
47+
permissions:
48+
actions: write
49+
contents: read
4650
steps:
4751
- name: Delete workflow runs
4852
uses: Mattraks/delete-workflow-runs@v2
@@ -53,5 +57,10 @@ jobs:
5357
keep_minimum_runs: ${{ github.event.inputs.minimum_runs }}
5458
delete_workflow_pattern: ${{ github.event.inputs.delete_workflow_pattern }}
5559
delete_workflow_by_state_pattern: ${{ github.event.inputs.delete_workflow_by_state_pattern }}
56-
delete_run_by_conclusion_pattern: ${{ github.event.inputs.delete_run_by_conclusion_pattern }}
60+
delete_run_by_conclusion_pattern: >-
61+
${{
62+
startsWith(github.event.inputs.delete_run_by_conclusion_pattern, 'Unsuccessful:')
63+
&& 'action_required,cancelled,failure,skipped'
64+
|| github.event.inputs.delete_run_by_conclusion_pattern
65+
}}
5766
dry_run: ${{ github.event.inputs.dry_run }}

.github/workflows/CLANG_18-Ubuntu.yml renamed to .github/workflows/GCC_13-Ubuntu.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
name: Build-and-Test-CLANG-Ubuntu
1+
name: Build-and-Test-GCC-Ubuntu
22

33
on:
4+
workflow_dispatch:
45
push:
56
branches:
67
- main
@@ -13,24 +14,23 @@ jobs:
1314
strategy:
1415
fail-fast: false
1516
matrix:
16-
clang: [18]
17+
gcc: [13]
1718
build_type: [Debug, Release]
1819
std: [20]
1920

2021
steps:
2122
- uses: actions/checkout@v3
2223

23-
- name: Install the latest Clang compiler.
24+
- name: Install the latest gcc compiler.
2425
working-directory: Tests
2526
run: |
26-
wget https://apt.llvm.org/llvm.sh
27-
chmod +x llvm.sh
28-
sudo ./llvm.sh 18
27+
sudo apt-get install build-essential
28+
sudo apt-get install g++-13
2929
3030
- name: Configure CMake
3131
working-directory: ./
3232
run: |
33-
cmake -S . -B ./Build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_COMPILER=/usr/bin/clang++-18 -DDEV="TRUE" -DJSONIFIER_TEST=true
33+
cmake -S . -B ./Build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_COMPILER=/usr/bin/g++-13 -DDEV="TRUE" -DJSONIFIER_TEST=true
3434
3535
- name: Build the Test
3636
working-directory: ./Build

.github/workflows/MSVC_2022-Windows.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
name: Build-and-Test-MSVC-Windows
22

33
on:
4+
workflow_dispatch:
45
push:
56
branches:
67
- main

.gitignore

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
.vs/
22
out/
3-
Build/
43
Output Files/
54
Output/
65
Documentation/docs
6+
Build/
77
Install/
88
DetectArchitecture.exe
9-
DetectArchitecture.obj
10-
JsonData.json
9+
DetectArchitecture.obj

BuildTools/Classes/Packager/Vcpkg.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,8 +140,6 @@ function constructPortAndVersionFile(string $sha512 = "0"): string
140140
REF "v${VERSION}"
141141
SHA512 ' . $sha512 . '
142142
HEAD_REF main
143-
PATCHES
144-
uninstall-head.patch
145143
)
146144
147145
set(VCPKG_BUILD_TYPE release) # header-only

CMake/BuildFeatureTester.bat

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
cmake -S ./ -B ./Build -DCMAKE_BUILD_TYPE=Release
2+
cmake --build ./Build --config=Release

CMake/BuildFeatureTester.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
cmake -S ./ -B ./Build -DCMAKE_BUILD_TYPE=Release
3+
cmake --build ./Build --config=Release

0 commit comments

Comments
 (0)