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