Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • seahash seahash
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 3
    • Issues 3
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • redox-osredox-os
  • seahashseahash
  • Merge requests
  • !7

fix: Make reads in `read_int` aligned

  • Review changes

  • Download
  • Email patches
  • Plain diff
Closed Tom Almeida requested to merge fix/unaligned-reads into master Dec 18, 2020
  • Overview 5
  • Commits 1
  • Pipelines 1
  • Changes 1

This may (or may not) fix some performance issues on ARM, which generally deals extremely poorly with unaligned reads (see #7). As far as I am able to test, there is negligible performance impact for this on x86, likely because the average number of reads per call hasn't changed much.

Another approach which was taken was attempting to call copy_nonoverlapping to copy byte-by-byte to a u64 buffer. This was significantly slower than the previous implementation, and thus dropped.

@darakian, would you mind testing this? I still don't have access to an ARM chip to test things on.

@koivunej, would you be able to bench on x86 to make sure this doesn't cause a performance regression? I currently only have access to my laptop, which isn't the best for attempting to benchmark things.

Fixes: #7

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: fix/unaligned-reads