Bug 2262752 - Review Request: ghc-bitwise - Fast multi-dimensional unboxed bit packed Bool arrays
Summary: Review Request: ghc-bitwise - Fast multi-dimensional unboxed bit packed Bool ...
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jens Petersen
QA Contact: Fedora Extras Quality Assurance
URL: https://hackage.haskell.org/package/b...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-02-05 09:16 UTC by Frank Dedden
Modified: 2024-06-24 07:27 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2024-06-24 07:27:13 UTC
Type: ---
Embargoed:
petersen: fedora-review+


Attachments (Terms of Use)

Description Frank Dedden 2024-02-05 09:16:53 UTC
Spec URL: https://fdedden.fedorapeople.org/ghc-bitwise.spec
SRPM URL: https://fdedden.fedorapeople.org/ghc-bitwise-1.0.0.1-1.fc40.src.rpm

Description:
Unboxed multidimensional bit packed Bool arrays with fast aggregate operations
based on lifting Bool operations to bitwise operations.

There are many other bit packed structures out there, but none met all of these
requirements:

(1) unboxed bit packed Bool array,

(2) multi-dimensional indexing,

(3) fast (de)serialization, or interoperable with foreign code,

(4) fast aggregate operations (fold, map, zip).

Quick tour of the bitwise library:

[Data.Bits.Bitwise] Lift boolean operations on 'Bool' to bitwise operations on
'Data.Bits.Bits'.

[Data.Array.BitArray] Immutable bit arrays.

[Data.Array.BitArray.ST] Mutable bit arrays in 'Control.Monad.ST.ST'.

[Data.Array.BitArray.IO] Mutable bit arrays in 'IO'.

[Data.Array.BitArray.ByteString] (De)serialization.

[Codec.Image.PBM] Portable bitmap monochrome 2D image format.

Very rough performance benchmarks:

* immutable random access single bit reads: 'BitArray ix' is about 40% slower
than 'UArray ix Bool',

* 'Control.Monad.ST.ST' mutable random access single bit reads: 'STBitArray s
ix' is about the same as 'STUArray s ix Bool',

* immutable map 'Bool -> Bool': 'BitArray ix' is about 85x faster than 'UArray
ix Bool',

* immutable zipWith 'Bool -> Bool -> Bool': 'BitArray ix' is about 1300x faster
than 'UArray ix Bool'.

Fedora Account System Username: fdedden

Comment 1 Frank Dedden 2024-02-05 09:16:56 UTC
This package built on koji:  https://koji.fedoraproject.org/koji/taskinfo?taskID=112961716

Comment 2 Fedora Review Service 2024-02-05 09:17:25 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/6986046
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2262752-ghc-bitwise/srpm-builds/06986046/builder-live.log.gz

Please make sure the package builds successfully at least for Fedora Rawhide.

- If the build failed for unrelated reasons (e.g. temporary network
  unavailability), please ignore it.
- If the build failed because of missing BuildRequires, please make sure they
  are listed in the "Depends On" field


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 3 Frank Dedden 2024-02-05 09:35:56 UTC
[fedora-review-service-build]

Comment 4 Fedora Review Service 2024-02-05 09:42:04 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/6986083
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2262752-ghc-bitwise/fedora-rawhide-x86_64/06986083-ghc-bitwise/fedora-review/review.txt

Found issues:

- No gcc, gcc-c++ or clang found in BuildRequires
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/C_and_C++/

Please know that there can be false-positives.

---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 5 Jens Petersen 2024-05-27 16:30:19 UTC
The package complies with the packaging guidelines and installs.
Spec file is generated with cabal-rpm.
License is BSD3.

I guess in principle the testsuite could be enable perhaps? - haven't tried and not a blocker.

Package APPROVED

Comment 6 Fedora Admin user for bugzilla script actions 2024-06-01 08:06:12 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/ghc-bitwise

Comment 7 Frank Dedden 2024-06-24 07:27:13 UTC
I have included the tests in the spec file, and added the package to rawhide: https://src.fedoraproject.org/rpms/ghc-bitwise.


Note You need to log in before you can comment on or make changes to this bug.