Commit Graph

7373 Commits

Author SHA1 Message Date
Simon Michael
e9d2b56fb2 make samplejournals: more; don't remake ones used for tests 2019-04-24 07:55:20 -07:00
Simon Michael
c23fc8b671 speed up -V/--value by converting reports, not the journal (#999)
Instead of converting all journal amounts to value early on, we now
convert just the report amounts to value, before rendering.

This was basically how it originally worked (for the balance command),
but now it's built in to the four basic reports used by print,
register, balance and their variants - Entries, Postings, Balance,
MultiBalance - each of which now has its own xxValue helper.

This should mostly fix -V's performance when there are many
transactions and prices (the price lookups could still be optimised),
and allow more flexibility for report-specific value calculations.

+------------------------------------------++-----------------+-------------------+--------------------------+
|                                          || hledger.999.pre | hledger.999.1sort | hledger.999.after-report |
+==========================================++=================+===================+==========================+
| -f examples/1000x1000x10.journal bal -V  ||            1.08 |              0.96 |                     0.76 |
| -f examples/2000x1000x10.journal bal -V  ||            1.65 |              1.05 |                     0.73 |
| -f examples/3000x1000x10.journal bal -V  ||            2.43 |              1.58 |                     0.84 |
| -f examples/4000x1000x10.journal bal -V  ||            4.39 |              1.96 |                     0.93 |
| -f examples/5000x1000x10.journal bal -V  ||            7.75 |              2.99 |                     1.07 |
| -f examples/6000x1000x10.journal bal -V  ||           11.21 |              3.72 |                     1.16 |
| -f examples/7000x1000x10.journal bal -V  ||           16.91 |              4.72 |                     1.19 |
| -f examples/8000x1000x10.journal bal -V  ||           27.10 |              9.83 |                     1.40 |
| -f examples/9000x1000x10.journal bal -V  ||           39.73 |             15.00 |                     1.51 |
| -f examples/10000x1000x10.journal bal -V ||           50.72 |             25.61 |                     2.15 |
+------------------------------------------++-----------------+-------------------+--------------------------+

There's one new limitation, not yet resolved: -V once again can pick a
valuation date in the future, if no report end date is specified and
the journal has future-dated transactions. We prefer to avoid that,
but reports currently are pure and don't have access to today's date.
2019-04-23 17:39:01 -07:00
Simon Michael
9ac1d7869b lib: journalStartDate, journalEndDate 2019-04-23 13:58:32 -07:00
Simon Michael
1cacfcea28 lib: fix journalApplyValue test (#999) 2019-04-23 07:20:10 -07:00
Simon Michael
08d226aaf5 lib: add a test for journalApplyValue that times itself (#999)
This test prints the time elapsed (before the OK message).
Mainly to support current performance tuning
(make ghcid-test-Hledger.Cli.Utils.journalApplyValue),
but also for future reference.
2019-04-22 16:40:58 -07:00
Simon Michael
168edb910e lib: try a single filter again to speed up -V; simplify a bit (#999)
There was no speedup, in fact.
2019-04-22 16:38:42 -07:00
Simon Michael
76b933641d rejigger Hledger.Cli tests to have correct prefix, add Cli.Utils 2019-04-22 12:47:28 -07:00
Simon Michael
028303acd7 lib: speed up -V by sorting market prices just once (#999)
-V is still quite a bit slower than no -V, but not as much as before:

+===========================================================++=======+
| hledger.999.pre -f examples/10000x10000x10.journal bal    ||  5.20 |
| hledger.999.pre -f examples/10000x10000x10.journal bal -V || 57.20 |
| hledger.999 -f examples/10000x10000x10.journal bal        ||  5.34 |
| hledger.999 -f examples/10000x10000x10.journal bal -V     || 17.50 |
+-----------------------------------------------------------++-------+
2019-04-20 13:12:53 -07:00
Simon Michael
5911c73757 make: use profiterole, not profiteur
[ci skip]
2019-04-20 09:25:36 -07:00
Simon Michael
72c7861267 tests: note parse-errors.test fragility
[ci skip]
2019-04-20 09:25:09 -07:00
Simon Michael
d7161466d3 tests: update i18n test journals, i18n tests 2019-04-20 08:34:08 -07:00
Simon Michael
2ca2466297 tools: generatejournal: start from a fixed year, not last year
So regenerating sample journals doesn't require updating tests.

[ci skip]
2019-04-20 08:30:56 -07:00
Simon Michael
9dd0b510dd tools: generatejournal: also generate P records (#999) 2019-04-19 15:44:25 -07:00
Simon Michael
6f4009d589 import: doc tweaks
[ci skip]
2019-04-19 15:44:06 -07:00
Simon Michael
ca79981f8d doc: regen command help
[ci skip]
2019-04-19 11:19:24 -07:00
Simon Michael
eb576ba5be import: document a problem with balance assignments
[ci skip]
2019-04-19 11:18:33 -07:00
Simon Michael
4fffe74408 doc: add a README for the functional tests, linked from contrib guide 2019-04-19 09:56:33 -07:00
Jakob Schöttl
4444b8bc8f Change unused argument to undefined to make possible bugs more obvious 2019-04-18 22:38:41 +02:00
Jakob Schöttl
593ee39284 Fix behavior of options like -Mp2019
This fixes the issue #1008
2019-04-18 22:38:41 +02:00
Simon Michael
0ed9591d1b ;site: update cookbook links
[ci skip]
2019-04-06 14:00:04 -07:00
Simon Michael
a278ea9b58 ;site: update cookbook links
[ci skip]
2019-04-06 11:47:09 -07:00
Andreas Pauley
356694b9f7 Rename hledger-makeitso to hledger-flow 2019-04-06 11:47:05 -07:00
Simon Michael
13dc1096a5 reg: test and fix for --average, broken since 1.12 (#1003) 2019-04-06 11:00:38 -07:00
Simon Michael
71f9b74b0e csv: doc: more tweaks (#1000)
[ci skip]
2019-04-06 10:51:18 -07:00
Simon Michael
bd08dd3858 csv: doc: more tweaks (#1000)
[ci skip]
2019-04-03 13:25:50 -07:00
Simon Michael
9f4decb4f6 csv: doc: clarify amount, balance tips (#1000)
[ci skip]
2019-04-03 13:14:59 -07:00
Simon Michael
61e8ccbf88 csv: accept a balance field assignment instead of an amount (#1000) 2019-04-03 10:46:26 -07:00
Simon Michael
72377a54c4 site: home: blurb tweak
[ci skip]
2019-03-27 13:00:37 -07:00
Simon Michael
ab93eb4258 close: doc: fix typo
[ci skip]
2019-03-26 16:40:03 -07:00
Ben Creasy
5755a8a520 fix link to auto postings 2019-03-26 14:37:15 -07:00
Ben Creasy
589f0a8f3a rm ircbrowse.net log link
This site has been down for a while it seems.
2019-03-26 13:56:43 -07:00
Simon Michael
3bb84698cd ; site: download: misc updates 2019-03-21 10:38:53 -07:00
Simon Michael
16819dcd2f fix relnotes 2019-03-21 10:27:37 -07:00
Simon Michael
e8eee8e7c7 ; shake comment 2019-03-21 10:23:41 -07:00
Simon Michael
7a3a77b0fe ; doc: relnotes: bump hledger-ui version, fix line breaks 2019-03-21 10:02:40 -07:00
Simon Michael
1ac6c04005 ; ui: changelog from 1.14.2 2019-03-20 17:49:22 -07:00
Simon Michael
a0462533d9 ; ui: regen cabal file 2019-03-20 17:41:50 -07:00
Simon Michael
b2e7cc7827 ui: support brick 0.47+ as well
I should have supported latest brick, to get into stackage nightly.
Now it does.

No upper bound, once again; responding lazily to brick API changes
seems less disruptive overall.
2019-03-20 17:38:44 -07:00
Simon Michael
c9e16b83ef ; propagate dev version bump 2019-03-20 17:13:59 -07:00
Simon Michael
25b6d27b51 ; doc: relnotes: bump versions 2019-03-20 16:18:05 -07:00
Simon Michael
fe2eb3a19d ; site: download: bump versions 2019-03-20 16:18:04 -07:00
Simon Michael
8aac6f80bb install: bump versions 2019-03-20 16:18:04 -07:00
Simon Michael
124aaffd34 ; merge latest changelogs 2019-03-20 16:18:04 -07:00
Simon Michael
3d206ad6bd ; changelogs from 1.14 branch 2019-03-20 16:18:04 -07:00
Simon Michael
fee0e39320 ; lib, cli, ui, web, api: bump to dev version 2019-03-20 16:18:04 -07:00
Simon Michael
8ef4caa46f ui: upper bound on brick to fix build (#995) 2019-03-20 16:18:04 -07:00
Simon Michael
95b0fe1066 ;site: update cookbook links
[ci skip]
2019-03-15 17:41:33 -07:00
Simon Michael
de298f08f4 ;site: update cookbook links
[ci skip]
2019-03-15 17:37:50 -07:00
Simon Michael
8c9d80525f ; site: download: drop unpinned/failing nix command (#980); cleanups
[ci skip]
2019-03-15 16:43:35 -07:00
Simon Michael
457534f0ea ; site: download: consistent hledger-install.sh naming
[ci skip]
2019-03-15 16:33:28 -07:00