perf: title tbd - #2235
Draft
shehabgamin wants to merge 5 commits into
Draft
Conversation
Codecov Report❌ Patch coverage is
@@ Coverage Diff @@
## main #2235 +/- ##
==========================================
- Coverage 78.93% 77.28% -1.65%
==========================================
Files 905 905
Lines 170948 171681 +733
==========================================
- Hits 134944 132690 -2254
- Misses 36004 38991 +2987
*This pull request uses carry forward flags. Click here to find out more.
... and 82 files with indirect coverage changes 🚀 New features to boost your workflow:
|
Spark 3.5.7 Test ReportCommit Information
Test Summary
Test DetailsError CountsPassed Tests Diff(empty) Failed Tests |
Spark 4.1.1 Test ReportCommit Information
Test Summary
Test DetailsError CountsPassed Tests Diff(empty) Failed Tests(truncated) |
Ibis Test ReportCommit Information
Test Summary
Test DetailsError CountsPassed Tests Diff--- before.txt 2026-07-11 10:57:25.449566830 +0000
+++ after.txt 2026-07-11 10:57:25.712573724 +0000
@@ -532 +531,0 @@
-ibis/backends/tests/test_export.py::test_table_to_csv[pyspark]Failed Tests |
shehabgamin
commented
Jul 11, 2026
| // This swaps the allocator for Rust allocations only; CPython's own allocator is untouched. | ||
| #[cfg(feature = "mimalloc")] | ||
| #[global_allocator] | ||
| static GLOBAL: mimalloc::MiMalloc = mimalloc::MiMalloc; |
Contributor
Author
There was a problem hiding this comment.
Inside hatch with new changes:
(default) sail % nm "$(python3 -c 'import pysail._native as m; print(m.__file__)')" | grep -c ' [Tt] _\?mi_'
405
(default) sail % MIMALLOC_VERBOSE=1 python3 -c "import pysail._native" 2>&1 | head
mimalloc: process init: 0x1F231DE80
v3.3.2 (built on Jul 9 2026, 16:47:54)
option 'show_errors': 0
option 'show_stats': 0
option 'verbose': 1
option 'deprecated_eager_commit': 1
option 'arena_eager_commit': 2
option 'purge_decommits': 1
option 'allow_large_os_pages': 0
option 'reserve_huge_os_pages': 0
(default) sail % MIMALLOC_VERBOSE=1 MIMALLOC_SHOW_STATS=1 python3 -c "
dquote> from pysail.spark import SparkConnectServer
dquote> server = SparkConnectServer()
dquote> server.start()
dquote> " 2>&1 | head -40
mimalloc: process init: 0x1F231DE80
v3.3.2 (built on Jul 9 2026, 16:47:54)
option 'show_errors': 0
option 'show_stats': 1
option 'verbose': 1
option 'deprecated_eager_commit': 1
option 'arena_eager_commit': 2
option 'purge_decommits': 1
option 'allow_large_os_pages': 0
option 'reserve_huge_os_pages': 0
option 'reserve_huge_os_pages_at': -1
option 'reserve_os_memory': 0 KiB
option 'deprecated_segment_cache': 0
option 'deprecated_page_reset': 0
option 'deprecated_abandoned_page_purge': 0
option 'deprecated_segment_reset': 0
option 'deprecated_eager_commit_delay': 1
option 'purge_delay': 1000
option 'use_numa_nodes': 0
option 'disallow_os_alloc': 0
option 'os_tag': 100
option 'max_errors': 32
option 'max_warnings': 32
option 'deprecated_max_segment_reclaim': 10
option 'destroy_on_exit': 0
option 'arena_reserve': 1048576 KiB
option 'arena_purge_mult': 1
option 'deprecated_purge_extend_delay': 1
option 'disallow_arena_alloc': 0
option 'retry_on_oom': 400
option 'visit_abandoned': 0
option 'guarded_min': 0
option 'guarded_max': 1073741824
option 'guarded_precise': 0
option 'guarded_sample_rate': 0
option 'guarded_sample_seed': 0
option 'generic_collect': 10000
option 'page_reclaim_on_free': 0
option 'page_full_retain': 2
option 'page_max_candidates': 4
Outside hatch on PySail:
~ % nm "$(python3 -c 'import pysail._native as m; print(m.__file__)')" | grep -c ' [Tt] _\?mi_'
0
~ % MIMALLOC_VERBOSE=1 python3 -c "import pysail._native" 2>&1 | head
mimalloc: option 'show_errors': 0
mimalloc: option 'show_stats': 0
mimalloc: option 'verbose': 1
mimalloc: option 'eager_commit': 1
mimalloc: option 'arena_eager_commit': 2
mimalloc: option 'purge_decommits': 1
mimalloc: option 'allow_large_os_pages': 0
mimalloc: option 'reserve_huge_os_pages': 0
mimalloc: option 'reserve_huge_os_pages_at': -1
mimalloc: option 'reserve_os_memory': 0
~ % MIMALLOC_VERBOSE=1 MIMALLOC_SHOW_STATS=1 python3 -c "
dquote> from pysail.spark import SparkConnectServer
dquote> server = SparkConnectServer()
dquote> server.start()
dquote> " 2>&1 | head -40
mimalloc: option 'show_errors': 0
mimalloc: option 'show_stats': 1
mimalloc: option 'verbose': 1
mimalloc: option 'eager_commit': 1
mimalloc: option 'arena_eager_commit': 2
mimalloc: option 'purge_decommits': 1
mimalloc: option 'allow_large_os_pages': 0
mimalloc: option 'reserve_huge_os_pages': 0
mimalloc: option 'reserve_huge_os_pages_at': -1
mimalloc: option 'reserve_os_memory': 0
mimalloc: option 'deprecated_segment_cache': 0
mimalloc: option 'deprecated_page_reset': 0
mimalloc: option 'abandoned_page_purge': 0
mimalloc: option 'deprecated_segment_reset': 0
mimalloc: option 'eager_commit_delay': 1
mimalloc: option 'purge_delay': 10
mimalloc: option 'use_numa_nodes': 0
mimalloc: option 'limit_os_alloc': 0
mimalloc: option 'os_tag': 100
mimalloc: option 'max_errors': 16
mimalloc: option 'max_warnings': 16
mimalloc: option 'max_segment_reclaim': 8
mimalloc: option 'destroy_on_exit': 0
mimalloc: option 'arena_reserve': 1048576
mimalloc: option 'arena_purge_mult': 10
mimalloc: option 'purge_extend_delay': 1
mimalloc: process init: 0x1f231de80
mimalloc: secure level: 0
mimalloc: mem tracking: none
[2026-07-11T01:35:26Z INFO sail_python::spark::server] Starting the Spark Connect server on 127.0.0.1:51938...
heap stats: peak total freed current unit count
reserved: 0 0 0 0 ok
committed: 0 0 0 0 ok
reset: 0
purged: 0
touched: 0 0 0 0 ok
segments: 0 0 0 0 ok
-abandoned: 0 0 0 0 ok
-cached: 0 0 0 0 ok
pages: 0 0 0 0 ok
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Also address Clickbench misalignment: https://github.com/shehabgamin/ClickBench/tree/sail-bump