Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v0.3.0 #371

Merged
merged 13 commits into from
Nov 3, 2023
Merged

Release v0.3.0 #371

merged 13 commits into from
Nov 3, 2023

Conversation

haixuanTao
Copy link
Collaborator

No description provided.

Copy link
Collaborator

@phil-opp phil-opp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Maybe we could reorder the changelog for v0.3 a bit to list the larger/breaking PRs first?

@haixuanTao
Copy link
Collaborator Author

haixuanTao commented Nov 1, 2023

Sure. I have replaced a fixed cache alignement with the constant aligned_vec cache alignment that is based on architecture.

// https://rust-lang.github.io/hashbrown/src/crossbeam_utils/cache_padded.rs.html#128-130
pub const CACHELINE_ALIGN: usize = {
    #[cfg(any(
        target_arch = "x86_64",
        target_arch = "aarch64",
        target_arch = "powerpc64",
    ))]
    {
        128
    }
    #[cfg(any(
        target_arch = "arm",
        target_arch = "mips",
        target_arch = "mips64",
        target_arch = "riscv64",
    ))]
    {
        32
    }
    #[cfg(target_arch = "s390x")]
    {
        256
    }
    #[cfg(not(any(
        target_arch = "x86_64",
        target_arch = "aarch64",
        target_arch = "powerpc64",
        target_arch = "arm",
        target_arch = "mips",
        target_arch = "mips64",
        target_arch = "riscv64",
        target_arch = "s390x",
    )))]
    {
        64
    }
};

Because, it was breaking the pip CI that is cross-compiling for x86. See: https://github.com/dora-rs/dora/actions/runs/6722305005/job/18269960724

Normally, this should be cross-architecture compatible as we are sending it as a slice.

@phil-opp
Copy link
Collaborator

phil-opp commented Nov 1, 2023

The alignment is not about cache lines here, it's about the alignment required by arrow types. So instead of making it platform dependent, we should replace the avec macro invocation with the AVec::new constructor.

(I missed that avec creates cache-line aligned vectors. It just coincidentally matched the required alignment on the platform. I was building on.)

@haixuanTao
Copy link
Collaborator Author

Ok make sense. Thanks. Will do the change.

@haixuanTao haixuanTao merged commit 355c413 into main Nov 3, 2023
17 checks passed
@haixuanTao haixuanTao deleted the release-v0.3.0 branch November 3, 2023 15:57
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.

None yet

2 participants