Thanks.
Noone else has commented apart from Bill Lam, so perhaps this utility
isn't used much,
but might you find time to suitably modify the script, pm.ijs, in later
beta versions?
Cheers,
Mike
On 30/04/2019 01:13, Henry Rich wrote:
The times that are connected are session times which typically will be some
thousands of seconds with the important information down in the
nanoseconds. It would be a textbook example of how to lose precision EXCEPT
that most of the time the positive and negative values alternate.
I remember now that I started by subtracting the starting time from the
time values and with that change the !.1e_12 worked. Better just to remove
the assert.
Henry Rich
On Mon, Apr 29, 2019, 7:16 PM bill lam <[email protected]> wrote:
some all and her displayed equal, however may be now in 901, sum of parts
can be larger than the whole because accumulating floating point rounding
errors. The original pm expected a very high floating point accuracy which
no longer holds in j901, eg j901 assumes + is associative to make better
utilization of multiple ALU.
A possible fix is to give allowance factor like,
assert. *./ all > 0.9*her
On Tue, Apr 30, 2019, 6:33 AM 'Mike Day' via Beta <[email protected]>
wrote:
Thanks - your suggested replacement didn't work:
load'jpm'
start_jpm_ 1000000000
17857142
f 1000
117002
showdetail_jpm_ 'flp'
recorded all lines
used and max record count: 3,765 17,857,142
|assertion failure: assert
| assert*./all>:!.1e_12 her
However, commenting out the assert did the trick.
Thanks
Mike
On 29/04/2019 22:26, Henry Rich wrote:
The assert. is invalid because of floating-point precision, and it
shows up in J901 because of order of operations. For a quick fix
either delete it or replace it with
assert*./all>:!.1e_12 her
Henry Rich
On 4/29/2019 1:54 PM, 'Mike Day' via Beta wrote:
I think the "also" paragraph in my earlier message, below, might have
been overlooked.
I quite often use jpm to check performance line by line. I can't say
it doesn't work in any
circumstances in J901 beta-d, but it does seem to have got more
unstable:
For example, in J807:
JVERSION
Engine: j807/j64/windows
Release-d: commercial/2019-03-18T13:21:35
Library: 8.07.25
Qt IDE: 1.7.9/5.9.6
Platform: Win 64
Installer: J807 install
InstallPath: c:/d/j807
Contact: www.jsoftware.com
load'jpm'
start_jpm_ 100000000
1785713
f 1000
117002
showdetail_jpm_ 'f'
recorded all lines
used and max record count: 3,767 1,785,713
Time (seconds)
+--------+--------+---+----------------------------------+
|all |here |rep|f |
+--------+--------+---+----------------------------------+
|2.045513|0.000030|1 |monad +/@:,@:((] #~ >:) +/"1@:flp)|
+--------+--------+---+----------------------------------+
showdetail_jpm_ 'flp' NB. I've removed several lines!!!
Time (seconds)
+--------+--------+---+-------------------------------------------------------+
|all |here
|rep|flp |
+--------+--------+---+-------------------------------------------------------+
|0.000002|0.000002|1
|monad |
|2.045486|0.376456|1 |[0] y flp~(;~)0
2$0 |
|2.045488|0.376458|1 |total
monad |
| // | // | |
// |
|0.000002|0.000002|
1|dyad |
|0.000772|0.000772|233|[10]
l=.l,next |
| // | // | |
// |
|0.001721|0.001721| 1|[14]
/:~l |
|2.045466|1.601660| 1|total
dyad |
| // | // | |
// |
|2.045488|1.601682|2 |total
definition |
+--------+--------+---+-------------------------------------------------------+
while, in J901:
JVERSION
Engine: j901/j64/windows
Beta-d: commercial/2019-04-21T12:38:39
Library: 9.01.03
Qt IDE: 1.8.2/5.12.2
Platform: Win 64
Installer: J901 install
InstallPath: c:/d/j901
Contact: www.jsoftware.com
load'jpm'
start_jpm_ 100000000
1785713
f 1000
117002
showdetail_jpm_ 'f' NB. OK - it does work for this cover fn
recorded all lines
used and max record count: 3,765 1,785,713
Time (seconds)
+--------+--------+---+---------------------------------+
|all |here |rep|f |
+--------+--------+---+---------------------------------+
|1.930585|0.000020|1 |dyad +/@:,@:((] #~ >:) +/"1@:flp)|
+--------+--------+---+---------------------------------+
showdetail_jpm_ 'flp'NB. the one I'm interested in!!!
|assertion failure: assert
| assert*./all>:her
I imagine that the record count isn't a problem
Is "jpm" deprecated now?
Thanks,
Mike
On 25/04/2019 17:51, Mike Day wrote:
Thanks. I wondered whether limits had changed. Is there any
user-control available re recursion? I usually try to avoid it,
but if I’m using someone else’s code...
Also - I can’t give chapter and verse right now as away from J901
with this iPad: I recently tried to use jpm to check timings on
lines of code but kept hitting an error when invoking
showdetail_jpm_ , no matter how large the argument to start_jpm_ ,
Thanks
Mike
Please reply to [email protected].
Sent from my iPad
On 24 Apr 2019, at 19:32, Henry Rich <[email protected]> wrote:
It did indicate trouble elsewhere. Thanks for the report.
The code still gives stack error in J901. The recursion limit has
been reduced.
Henry Rich
On 4/24/2019 3:28 AM, 'Mike Day' via Beta wrote:
Another problem, (in Beta c as I'd rolled back) - not too
important in itself but might
indicate trouble elsewere
J Wiki Essay
https://code.jsoftware.com/wiki/Essays/Partitions#The_Number_of_Partitions
The/memo/adverb M.can be used to advantage here.
pn =: -/@(+/)@:($:"0)@rec ` (x:@(0&=)) @. (0>:]) M.
rec=: - (-: (*"1) _1 1 +/ 3 * ]) @ (>:@i.@>.@%:@((2%3)&*))
pn 1000
24061467864032622473692149727991
But:
pn 1000
|stack error: rec
| pn 1000
pn 100
190569292
JVERSION
Engine: j901/j64/windows
Beta-c: commercial/2019-04-03T11:03:34
Library: 9.01.03
Qt IDE: 1.8.2/5.12.2
Platform: Win 64
Installer: J901 install
InstallPath: c:/d/j901
Contact: www.jsoftware.com
whereas it worked in J8:
pn 1000
24061467864032622473692149727991
JVERSION
Engine: j807/j64/windows
Release-d: commercial/2019-03-18T13:21:35
Library: 8.07.25
Qt IDE: 1.7.9/5.9.6
Platform: Win 64
Installer: J807 install
InstallPath: c:/d/j807
Contact: www.jsoftware.com
Thanks,
Mike
---
This email has been checked for viruses by Avast antivirus
software.
https://www.avast.com/antivirus
----------------------------------------------------------------------
For information about J forums see
http://www.jsoftware.com/forums.htm
---
This email has been checked for viruses by AVG.
https://www.avg.com
----------------------------------------------------------------------
For information about J forums see
http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see
http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm