aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Add a bang not to overlap big allocationsuncontroversial-tweaks-repackagedMikolaj Konarski20 hours
|
* Save some VS.concat by using toVectorListTMikolaj Konarski20 hours
|
* Let X.fromListOuterSN and ravelOuterN take NonEmptyMikolaj Konarski20 hours
|
* Don't force a list of identical elementsMikolaj Konarski20 hours
| | | | | | | | | This makes a big difference when a pair of lists is attempted to be streamed and the first one is of trivial primitive elements (e.g., when implementing a fold as a special case of mapAccum with the output list containing only ()). Forcing the first trivial list would cause the second non-trivial list to be represented as nested thunks, burdening GC greatly.
* Simplify and slightly speed up internal fromList functionsMikolaj Konarski20 hours
|
* Inline most lifting wrappersMikolaj Konarski20 hours
| | | | | | | This results in only marginal performance gain, probably because they are already small enough to be specialized and/or inlined automatically, but these pragmas ensure it remains so regardless of changes in GHC heuristics.
* Make it clear that ravelOuterN is called just onceMikolaj Konarski20 hours
|
* Add a potentialy helpful bang for consistencyMikolaj Konarski20 hours
|
* Document that mshapeTree is partialmild-tweaks-repackagedMikolaj Konarski21 hours
|
* Add benchmarks for sumFullMikolaj Konarski21 hours
|
* Make library strided-array-ops publicMikolaj Konarski21 hours
|
* Add a few more GHC warnings and fix all offendersMikolaj Konarski21 hours
|
* Mute the pattern-namespace-specifier warning until things can be fixedMikolaj Konarski21 hours
|
* Improve the implementation of the other fromSNat'Mikolaj Konarski21 hours
|
* Improve the implementation of fromSNat'Mikolaj Konarski21 hours
| | | | leading to 6% lower allocation in Det.hs primal test.
* Fix f in SMayNat to always be SNat and UNPACK itMikolaj Konarski21 hours
|
* Implement Tom's ixsFromIxSMikolaj Konarski21 hours
| | | | | | that really helps in processing indexes using list functions and getting back to the same type of index now that KnownNat is removed from IxS and so the type information is harder to preserve.
* Make type variables consistent between shaped and mixed listsMikolaj Konarski21 hours
|
* Generalize shsTakeIxMikolaj Konarski23 hours
|
* Speed up the bad case of mvecsReplicate using mvecsWriteLinearMikolaj Konarski23 hours
|
* Express mvecsWrite and mvecsWritePartial using the new methodsMikolaj Konarski23 hours
| | | | | | | and change the type of the latter to make it possible. This slightly improves performance of horde-ad tests, before horde-ad even starts using the Linear methods, which improves performance even more.
* Add mvecsWriteLinear and mvecsWritePartialLinear (unused yet)Mikolaj Konarski23 hours
|
* Add mvecsReplicateMikolaj Konarski23 hours
|
* Remove the preposterous shsFromListS and shsFromIxSHEADmasterMikolaj Konarski24 hours
|
* Generalize ix?ToLinear and speed it up a bitMikolaj Konarski24 hours
|
* Add INLINEABLE to ixxToLinear ahead of generalization, to benchmarkMikolaj Konarski24 hours
| | | | No horde-ad test speedup noticed.
* Improve haddocks of mvecsUnsafeFreezeTom Smeding24 hours
|
* Add method mvecsUnsafeFreeze and use itMikolaj Konarski24 hours
|
* Make arith enums disjointTom Smeding24 hours
| | | | | | This should prevent operation confusion like calling oxarop_binary_* with IB_QUOT. No error is thrown statically, but at least the nonsense operation crashes reliably at runtime instead of doing, well, nonsense.
* Fix a typo in IntElt IntMikolaj Konarski24 hours
|
* Use numEltSumFull in X.sumFullTom Smeding2026-01-16
| | | | Thanks Mikolaj :)
* C: Fix REDUCEFULLTom Smeding2026-01-16
| | | | Only the last inner vector was kept...
* test: Port sum tests to sumAllTom Smeding2026-01-16
|
* XArray: Fix doc comment on ravelOuterNTom Smeding2025-12-06
|
* Improve runtime and streaming of fromListOuterMikolaj Konarski2025-12-05
|
* Inlining magicTom Smeding2025-12-03
|
* Restore suffixes sharing in *FromLinearTom Smeding2025-12-03
| | | | Thanks Mikolaj for spotting it's broken
* Make shsFromList even more const-likeMikolaj Konarski2025-12-02
|
* Add a missing INLINEABLE for ixsToListMikolaj Konarski2025-12-02
|
* Define {list,sh,ix}*ToList functions using 'build'Tom Smeding2025-12-02
| | | | This should allow foldr/build fusion
* template-haskell is now used unconditionallyTom Smeding2025-12-02
|
* Let sh*FromList functions print proper error messagesTom Smeding2025-12-02
|
* Provide ix*FromLinear for all three shape kindsTom Smeding2025-12-02
| | | | This speeds up {r,s}generatePrim
* Doc commentsTom Smeding2025-12-02
|
* Style and uniformity of shape/index/list functionsTom Smeding2025-12-02
|
* Generalize mgeneratePrim to potentially avoid @fmap fromIntegral@Mikolaj Konarski2025-12-02
|
* Define mgeneratePrim as a fast special case variantMikolaj Konarski2025-12-02
|
* Simplify genShRwithTarget a littleMikolaj Konarski2025-12-01
|
* Unify fromList functions for shapesMikolaj Konarski2025-12-01
|
* Don't call continuation-based functions just *FromListMikolaj Konarski2025-12-01
|