Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 2 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ jobs:
run: soup restore ./soup/code/generate-test/
- name: Soup Build GenerateTest
run: soup build ./soup/code/generate-test/ -flavor ${{matrix.config}}
- name: Soup Build BenchmarkTests
run: soup build ./soup/code/benchmark-tests/ -flavor ${{matrix.config}}
# - name: Soup Restore SWhere
# run: soup restore ./soup/code/generate-sharp/swhere/
# - name: Soup Build SWhere
Expand Down
17 changes: 17 additions & 0 deletions code/bench-tests/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -630,6 +630,21 @@ int main()
arguments.HostPlatform = "FakePlatform";
arguments.WorkingDirectory = Path("C:/WorkingDirectory/MyPackage/");

auto systemReadAccess = std::vector<Path>();

// Platform specific defaults
#if defined(_WIN32)
auto hostPlatform = "Windows";

// Allow read access from system directories
systemReadAccess.push_back(
Path("C:/Windows/"));
#elif defined(__linux__)
auto hostPlatform = "Linux";
#else
#error "Unknown Platform"
#endif

// Load user config state
auto userDataPath = BuildEngine::GetSoupUserDataPath();
auto recipeCache = RecipeCache();
Expand All @@ -639,12 +654,14 @@ int main()
std::nullopt,
arguments.GlobalParameters,
userDataPath,
hostPlatform,
recipeCache);

BuildEngine::Execute(
packageProvider,
std::move(arguments),
userDataPath,
systemReadAccess,
recipeCache);
});
}
Expand Down
15 changes: 14 additions & 1 deletion docs/benchmarks.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,17 @@ Current benchmark numbers on my Lenovo Yoga 7 Intel Core Ultra 7 258V with Win11
| 113.23 | 8,831,847.65 | 2.8% | 0.03 | `OperationResultsReader Deserialize Empty`
| 702.65 | 1,423,178.43 | 1.8% | 0.17 | `OperationResultsReader Deserialize Complex`
| 1,071.80 | 933,012.90 | 1.0% | 0.26 | `RecipeSML Deserialize Simple`
| 6,152.02 | 162,548.28 | 1.0% | 1.48 | `RecipeSML Deserialize Complex`
| 6,152.02 | 162,548.28 | 1.0% | 1.48 | `RecipeSML Deserialize Complex`

Current benchmark numbers on my Lenovo Yoga 7 Intel Core Ultra 7 258V with Ubuntu 24.04 LTS

| ns/op | op/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
| 1,965.90 | 508,674.16 | 0.6% | 0.49 | `PackageReference Parse Name Only`
| 2,733.01 | 365,896.80 | 1.5% | 0.66 | `PackageReference Parse Language, User, Name and Version`
| 99.55 | 10,045,681.30 | 0.4% | 0.02 | `ValueTableReader Deserialize Empty`
| 4,901.49 | 204,019.48 | 0.7% | 1.17 | `ValueTableReader Deserialize Complex`
| 139.18 | 7,185,191.42 | 0.7% | 0.03 | `OperationResultsReader Deserialize Empty`
| 3,551.31 | 281,586.57 | 0.7% | 0.85 | `OperationResultsReader Deserialize Complex`
| 5,955.45 | 167,913.35 | 0.6% | 1.42 | `RecipeSML Deserialize Simple`
| 19,341.45 | 51,702.42 | 1.1% | 4.64 | `RecipeSML Deserialize Complex`
Loading