mirror of
https://github.com/kvcache-ai/AgentENV.git
synced 2026-11-05 01:17:36 +00:00
[PR #284] feat(server): make jemalloc optional #316
Labels
No labels
bug
documentation
enhancement
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
kvcache-ai/AgentENV#316
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/kvcache-ai/AgentENV/pull/284
Author: @CharlesXu-HQ
Created: 9/13/2026
Status: 🔄 Open
Base:
main← Head:feat/jemalloc-optional📝 Commits (1)
9ac065dfeat(server): make jemalloc optional📊 Changes
5 files changed (+11 additions, -8 deletions)
View changed files
📝
.github/workflows/release.yml(+1 -1)📝
Cargo.toml(+2 -1)📝
Makefile(+3 -3)📝
deploy/docker/Dockerfile.agentenv(+2 -2)📝
src/bin/server.rs(+3 -1)📄 Description
What
Make
tikv-jemallocatoroptional behind ajemallocCargo feature. Default development and test builds use the platform allocator and omit the jemalloc build, while the release Makefile targets, Docker image, and release workflow continue to build the server with jemalloc.Why
tikv-jemalloc-sysis a native dependency with a material clean-build cost even when a developer only needs regular unit or development builds. This implements the P3 dependency-isolation item in #8 while preserving the allocator used by distributed server artifacts.Related issue
Part of #8 (P3)
Scope and non-goals
This PR only adds the Cargo feature gate and enables it in formal release paths. It does not change the existing jemalloc tuning, add allocator configuration, or claim an end-to-end performance improvement.
Design and behavior changes
tikv-jemallocatorbecomes an optional dependency selected byjemalloc.malloc_conftuning symbol are compiled only with that feature.jemalloc; ordinary debug builds do not.Compatibility and operations
Validation
make fmtmake clippymake test-unitmake -C services test(required whenservices/changes)maketargetCommands and results:
Skipped checks and reasons:
services/, generated code, and documentation are unchanged.Risks and reviewer notes
Custom debug or release commands that expect jemalloc must now pass
--features jemalloc. The repository's formal release paths have been updated to preserve their current allocator and tuning.This PR touches the same release command lines as #283 and may need a trivial rebase to combine the two feature lists after that PR merges.
Cargo also reports an existing future-incompatibility notice in the third-party
proc-macro-error2crate; it is not emitted as a project Clippy warning.Checklist
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.