Skip to content

Conversation

@DajanaV
Copy link
Collaborator

@DajanaV DajanaV commented Nov 6, 2025

Mirrored from ggml-org/llama.cpp#17062

This commit adds an easy way to fetch, build, and statically link the BoringSSL library when LLAMA_BUILD_BORINGSSL is enabled.

The version can be set via the LLAMA_BORINGSSL_VERSION cache variable.

This commit adds an easy way to fetch, build, and statically link the
BoringSSL library when LLAMA_BUILD_BORINGSSL is enabled.

The version can be set via the LLAMA_BORINGSSL_VERSION cache variable.

Signed-off-by: Adrien Gallouët <[email protected]>
@loci-agentic-ai
Copy link

Access the complete analysis in the LOCI Dashboard

Performance Analysis Summary

Based on the comprehensive analysis of project version 70215196-f6bf-45af-be1e-5270b7867b54 compared to base version 52cd5469-e814-4a51-818a-57d1618fc442, the changes show minimal performance impact with no meaningful modifications to core inference functions.

Key Findings

Performance Metrics:

  • Highest Response Time change: llama_supports_rpc (+0.08%, +0.024 ns from 29.66 ns to 29.68 ns)
  • Highest Throughput change: _ZNK14llama_kv_cells11seq_pos_minEi (+0.11%, +0.34 ns from 302.26 ns to 302.60 ns)

Core Function Impact:
The performance changes do not affect critical inference functions (llama_decode, llama_encode, llama_tokenize). The modified functions are utility/support functions:

  • llama_supports_rpc: Backend capability checking function
  • seq_pos_min: KV cache position management helper

Tokens Per Second Impact:
No impact on inference throughput expected. The affected functions are not in the tokenization/inference pipeline, so the reference performance degradation (7% tokens/sec loss from 2ms llama_decode slowdown) does not apply.

Power Consumption Analysis:
Negligible changes across all binaries:

  • build.bin.libllama.so: -0.0002% (-0.66 nJ)
  • build.bin.llama-cvector-generator: -0.00004% (-0.39 nJ)
  • build.bin.llama-tts: -0.00012% (-1.22 nJ)
  • All other binaries: 0% change

Technical Analysis:

  • Flame Graph: llama_supports_rpc shows simple two-level execution with 76% self-time, indicating the performance change is in the function's direct operations
  • CFG Comparison: Identical assembly code between versions, confirming changes are environmental rather than functional
  • GitHub Code Review: PR UPSTREAM PR #17062: cmake: add option to build and link BoringSSL #107 adds BoringSSL CMake integration - build system changes unrelated to runtime performance

Conclusion:
The observed micro-degradations (0.08-0.11%) are within measurement noise and stem from build environment differences rather than code changes. The BoringSSL integration affects only build configuration without runtime impact.

@DajanaV DajanaV force-pushed the main branch 27 times, most recently from 6aa5dc2 to 81cedf2 Compare November 10, 2025 16:10
@DajanaV DajanaV force-pushed the main branch 30 times, most recently from f333350 to 9c4623f Compare November 18, 2025 09:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants