[Jprogramming] 806 beta-3 available
Henry Rich
henryhrich at gmail.com
Thu Apr 20 23:53:39 UTC 2017
You can use 6!:1'' to get the session time (number of seconds in the
current session) and type that out in different places. See where the
difference between 8.05 and 8.06 shows up.
If you can narrow it down to a small snippet that runs slower, I will
look into it.
Henry Rich
On 4/20/2017 7:49 PM, Michael Goodrich wrote:
> Not quite sure how to do that but I posted the app in weirdness #2
>
>
> Sent from my iPhone
>
>> On Apr 20, 2017, at 6:58 PM, Henry Rich <henryhrich at gmail.com> wrote:
>>
>> If you can isolate what's slower that would be helpful. The changes are in the i.-family, sort/grade, and +/ . * .
>>
>> Henry Rich
>>
>>> On 4/20/2017 6:54 PM, Michael Goodrich wrote:
>>> First test of my neural net app is much slower - 20 sec vs. 8 sec for 805 stable 😩. ????
>>>
>>>
>>> Sent from my iPhone
>>>
>>>> On Apr 17, 2017, at 1:38 PM, David Mitchell <davidmitchell at att.net> wrote:
>>>>
>>>> Here are my results with beta-3:
>>>>
>>>> 2017 4 16 4 41
>>>> Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz
>>>> j805/j64/windows/beta-12/commercial/www.jsoftware.com/2016-09-30T15:50:47
>>>> j806/j64avx/windows/beta-3/commercial/www.jsoftware.com/2017-04-10T18:03:23
>>>> intsr (small range) special code avoids hash - intbr (big range)
>>>> float0 tests use !.0 where appropriate
>>>> N in tables below indicate avx JE runs N times faster than 805
>>>>
>>>> 'type' set 1e7 1e3
>>>> intsr intbr char float float0 test
>>>> 1.4 1.9 3.4 2.4 3.2 a i. a
>>>> 19.2 12.7 24.5 2.0 23.9 a i. b
>>>> 2.1 4.3 7.0 7.0 6.3 b i. a
>>>> 3.0 5.5 8.2 8.3 8.7 a e. b
>>>> 10.2 12.6 25.5 1.9 23.4 b e. a
>>>> 4.0 6.2 9.2 7.7 9.7 a (+/@:e.) b
>>>> 1.1 6.2 8.8 31.1 8.7 a (e. i. 1:) b
>>>> 2.2 1.8 2.8 2.1 1.9 ~.a
>>>> 2.8 1.9 3.8 2.5 2.3 ~:a
>>>> 1.1 1.1 1.3 1.1 1.1 /:a
>>>> 1.8 1.1 1.5 1.1 1.0 /:~a
>>>>
>>>> 'type' set 1e5 1e3
>>>> intsr intbr char float float0 test
>>>> 2.5 3.2 4.7 4.2 3.1 a i. a
>>>> 7.6 5.9 10.5 4.0 6.6 a i. b
>>>> 2.2 4.2 6.7 6.8 6.3 b i. a
>>>> 2.6 5.3 7.7 8.0 7.9 a e. b
>>>> 3.5 5.9 10.0 5.2 8.1 b e. a
>>>> 4.3 5.9 8.5 8.5 9.2 a (+/@:e.) b
>>>> 1.6 3.4 7.9 18.3 8.2 a (e. i. 1:) b
>>>> 1.3 3.3 2.8 3.6 2.6 ~.a
>>>> 1.5 3.7 5.6 4.9 3.7 ~:a
>>>> 1.5 1.3 1.3 1.3 1.2 /:a
>>>> 3.4 1.3 1.0 1.2 1.1 /:~a
>>>>
>>>> 'type' set '1e3'
>>>> mmint mmfloat mmcomplex test
>>>> 4.7 3.7 3.2 a +/ . * b
>>>>
>>>> ===
>>>> rep''
>>>> 2017 4 16 11 42
>>>> Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz
>>>> j805/j64/linux/release/commercial/www.jsoftware.com/2016-12-11T08:02:52
>>>> j806/j64avx/linux/beta-3/commercial/www.jsoftware.com/2017-04-10T17:51:14
>>>> intsr (small range) special code avoids hash - intbr (big range)
>>>> float0 tests use !.0 where appropriate
>>>> N in tables below indicate avx JE runs N times faster than 805
>>>>
>>>> 'type' set 1e7 1e3
>>>> intsr intbr char float float0 test
>>>> 1.6 1.8 3.3 2.1 3.3 a i. a
>>>> 20.6 12.3 26.1 2.0 22.4 a i. b
>>>> 3.3 6.7 7.7 7.3 10.7 b i. a
>>>> 4.9 7.8 8.3 7.3 13.5 a e. b
>>>> 13.9 12.1 28.7 2.0 24.3 b e. a
>>>> 4.8 8.0 8.6 6.9 12.6 a (+/@:e.) b
>>>> 4.3 6.8 9.0 59.9 13.1 a (e. i. 1:) b
>>>> 2.9 1.9 2.9 1.6 1.5 ~.a
>>>> 3.5 2.0 3.4 2.0 2.0 ~:a
>>>> 1.0 1.0 1.2 1.1 1.1 /:a
>>>> 1.2 1.2 2.8 1.1 1.1 /:~a
>>>>
>>>> 'type' set 1e5 1e3
>>>> intsr intbr char float float0 test
>>>> 1.9 4.1 5.6 2.8 5.0 a i. a
>>>> 4.5 5.6 15.5 3.3 7.6 a i. b
>>>> 5.8 8.7 8.9 6.3 10.6 b i. a
>>>> 4.0 8.2 8.9 6.7 13.4 a e. b
>>>> 3.4 5.2 15.2 3.3 8.1 b e. a
>>>> 5.5 8.9 9.7 6.5 12.9 a (+/@:e.) b
>>>> 1.5 4.0 7.0 21.3 13.3 a (e. i. 1:) b
>>>> 1.3 3.5 6.4 2.4 2.0 ~.a
>>>> 1.2 3.9 4.6 2.9 2.9 ~:a
>>>> 0.9 1.3 1.3 1.2 1.2 /:a
>>>> 1.6 1.4 1.2 1.2 1.4 /:~a
>>>>
>>>> 'type' set '1e3'
>>>> mmint mmfloat mmcomplex test
>>>>
>>>> 23.2 4.8 3.3 a +/ . * b
>>>>
>>>>> On 4/11/2017 15:18, Eric Iverson wrote:
>>>>> 806 beta-3 available.
>>>>>
>>>>> Comments from original announcement are repeated here for emphasis.
>>>>>
>>>>> 806 will be primarily a performance release. This is the first J release
>>>>> where hardware features are directly used for performance. Previous
>>>>> releases depended on excellent code and smart algorithms. With Advanced
>>>>> Vector Extensions (AVX) Intel finally (first hardware released in 2011) has
>>>>> hardware that seems to have J, at least partly, in mind.
>>>>>
>>>>> A rough benchmark report is at the end of this message. It has been a long
>>>>> time since we've been able to brag of a factor of 10 speedup in a primitive.
>>>>>
>>>>> Improvements in i. and related areas are important in J, but faster
>>>>> crunching is usually overwhelmed by all the housekeeping in an application.
>>>>> Some things run 10 times faster, but your application won't.
>>>>>
>>>>> Please get involved in the beta program, it helps make a better product for
>>>>> everyone.
>>>>>
>>>>> And give big thanks to Henry Rich for this core JE development!
>>>>>
>>>>> ***
>>>>> Follow web site download links. There have been changes. Please follow the
>>>>> directions and report any problems.
>>>>>
>>>>> These releases are only for windows/osx/linux intel/amd 64 and include only
>>>>> an avx binary.
>>>>>
>>>>> The J Engine load will fail if the hardware/OS does not support avx.
>>>>>
>>>>> *** benchmark report - ~addons/ide/jhs/misc/avx.ijs
>>>>>
>>>>> 2017 4 11 15 1
>>>>> Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz
>>>>> j805/j64/linux/release-a/commercial/www.jsoftware.com/2017-02-26T16:47:20
>>>>> j806/j64avx/linux/beta-3/commercial/www.jsoftware.com/2017-04-10T17:51:14
>>>>> intsr (small range) special code avoids hash - intbr (big range)
>>>>> float0 tests use !.0 where appropriate
>>>>> N in tables below indicate avx JE runs N times faster than 805
>>>>>
>>>>> 'type' set 1e7 1e3
>>>>> intsr intbr char float float0 test
>>>>> 1.3 2.0 4.1 2.1 3.6 a i. a
>>>>> 12.9 10.7 25.8 2.1 20.5 a i. b
>>>>> 3.4 7.3 8.6 6.7 10.6 b i. a
>>>>> 5.3 8.2 9.1 7.2 13.2 a e. b
>>>>> 6.4 10.6 25.9 2.1 20.4 b e. a
>>>>> 5.3 8.8 9.5 7.0 13.2 a (+/@:e.) b
>>>>> 4.4 6.5 9.6 53.4 13.2 a (e. i. 1:) b
>>>>> 1.7 1.9 3.8 1.7 1.7 ~.a
>>>>> 1.6 2.1 4.1 2.2 2.0 ~:a
>>>>> 1.1 1.3 1.3 1.2 1.2 /:a
>>>>> 1.3 2.1 2.2 1.9 1.9 /:~a
>>>>>
>>>>> 'type' set 1e5 1e3
>>>>> intsr intbr char float float0 test
>>>>> 2.0 3.5 5.3 2.4 4.7 a i. a
>>>>> 4.2 4.7 9.2 3.2 6.9 a i. b
>>>>> 5.4 8.0 8.9 5.2 11.7 b i. a
>>>>> 5.8 7.7 9.3 6.7 12.7 a e. b
>>>>> 4.1 4.7 9.2 3.2 6.9 b e. a
>>>>> 5.7 8.3 9.7 6.5 12.5 a (+/@:e.) b
>>>>> 2.0 4.0 7.8 21.0 12.6 a (e. i. 1:) b
>>>>> 1.5 3.3 4.5 1.9 1.9 ~.a
>>>>> 1.3 3.4 5.2 2.9 2.9 ~:a
>>>>> 2.1 2.1 1.3 1.9 1.9 /:a
>>>>> 1.7 2.3 1.4 2.1 2.1 /:~a
>>>>>
>>>>> 'type' set '1e3'
>>>>> mmint mmfloat mmcomplex test
>>>>> 27.6 23.7 17.9 a +/ . * b
>>>>> ----------------------------------------------------------------------
>>>>> 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 AVG.
>> http://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
More information about the Programming
mailing list