hledger/hledger-lib/Hledger/Data
Stephen Morgan 7fe58f1346 lib: More efficiently check whether Amounts are or look zero.
Comparing two Quantity (either with (==) or compare) does a lot of
normalisation (calling roundMax) which is unnecessary if we're comparing
to zero. Do things more directly to save work.

For reg -f examples/10000x10000x10.journal, this results in
- A 12% reduction in heap allocations, from 70GB to 62GB
- A 14% reduction in (profiled) time, from 79s to 70s
Results for bal -f examples/10000x10000x10.journal are of the same order
of magnitude.
2021-03-23 11:26:30 -07:00
..
Account.hs lib: In sorting account names, perform lookups on HashSets and HashMaps, 2021-03-23 11:26:30 -07:00
AccountName.hs lib,cli,ui: Replace some uses of String with Text, get rid of some unpacks, clean up showMixed options. 2021-01-02 15:08:09 +11:00
Amount.hs lib: More efficiently check whether Amounts are or look zero. 2021-03-23 11:26:30 -07:00
Commodity.hs new price search that really finds the shortest path (#1443) 2021-01-04 18:42:51 -08:00
Dates.hs lib,cli,ui: Use Text for showDate and related. 2021-01-02 15:08:09 +11:00
Journal.hs lib,cli,ui,bin: Eliminate all uses of Mixed outside of Hledger.Data.Amount. 2021-03-18 09:47:59 +11:00
Json.hs cli: Using Text Builder for posting reports. 2021-01-02 15:08:09 +11:00
Ledger.hs lib,cli,ui,web: Make Regexp a wrapper for Regex. 2020-08-31 12:04:45 +10:00
Period.hs lib,cli,ui: Use Text for showDate and related. 2021-01-02 15:08:09 +11:00
PeriodicTransaction.hs lib,cli: Make showTransaction return Text rather than String. 2021-01-02 15:08:09 +11:00
Posting.hs lib,cli,ui,bin: Eliminate all uses of Mixed outside of Hledger.Data.Amount. 2021-03-18 09:47:59 +11:00
RawOptions.hs check: support quoted check name + args 2020-11-29 20:48:31 -08:00
StringFormat.hs lib: Remove unused optional width argument for StringFormat. 2021-01-02 15:08:09 +11:00
Timeclock.hs lib,cli,ui,bin: Eliminate all uses of Mixed outside of Hledger.Data.Amount. 2021-03-18 09:47:59 +11:00
Transaction.hs lib: Do not call showAmount twice for every posting. 2021-03-21 07:10:27 -07:00
TransactionModifier.hs lib,cli,ui,bin: Eliminate all uses of Mixed outside of Hledger.Data.Amount. 2021-03-18 09:47:59 +11:00
Types.hs lib: Make fields of Amount, AmountPrice, AmountStyle, and DigitGroupStyle strict. 2021-02-23 14:54:39 -08:00
Valuation.hs cli: rename --infer-value to --infer-market-price 2021-02-05 15:16:39 -08:00