You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(38) |
Nov
(98) |
Dec
(58) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(114) |
Feb
(123) |
Mar
(96) |
Apr
(66) |
May
(84) |
Jun
(72) |
Jul
(128) |
Aug
(126) |
Sep
(82) |
Oct
(80) |
Nov
(148) |
Dec
(55) |
2002 |
Jan
(137) |
Feb
(85) |
Mar
(118) |
Apr
(67) |
May
(71) |
Jun
(28) |
Jul
(69) |
Aug
(48) |
Sep
(83) |
Oct
(79) |
Nov
(54) |
Dec
(32) |
2003 |
Jan
(44) |
Feb
(47) |
Mar
(59) |
Apr
(57) |
May
(43) |
Jun
(45) |
Jul
(44) |
Aug
(39) |
Sep
(27) |
Oct
(62) |
Nov
(17) |
Dec
(23) |
2004 |
Jan
(41) |
Feb
(51) |
Mar
(38) |
Apr
(30) |
May
(25) |
Jun
(12) |
Jul
(11) |
Aug
(27) |
Sep
(16) |
Oct
(56) |
Nov
(23) |
Dec
(29) |
2005 |
Jan
(75) |
Feb
(82) |
Mar
(50) |
Apr
(77) |
May
(19) |
Jun
(104) |
Jul
(47) |
Aug
(42) |
Sep
(28) |
Oct
(143) |
Nov
(62) |
Dec
(13) |
2006 |
Jan
(20) |
Feb
(10) |
Mar
(59) |
Apr
(45) |
May
(25) |
Jun
(129) |
Jul
(162) |
Aug
(91) |
Sep
(15) |
Oct
(39) |
Nov
(186) |
Dec
(191) |
2007 |
Jan
(134) |
Feb
(140) |
Mar
(106) |
Apr
(77) |
May
(92) |
Jun
(63) |
Jul
(233) |
Aug
(102) |
Sep
(119) |
Oct
(63) |
Nov
(68) |
Dec
(32) |
2008 |
Jan
(69) |
Feb
(91) |
Mar
(129) |
Apr
(44) |
May
(18) |
Jun
(53) |
Jul
(50) |
Aug
(25) |
Sep
(11) |
Oct
(28) |
Nov
(67) |
Dec
(36) |
2009 |
Jan
(20) |
Feb
(24) |
Mar
(66) |
Apr
(53) |
May
(48) |
Jun
(48) |
Jul
(59) |
Aug
(82) |
Sep
(49) |
Oct
(30) |
Nov
(16) |
Dec
(16) |
2010 |
Jan
(52) |
Feb
(25) |
Mar
(36) |
Apr
(34) |
May
(14) |
Jun
(15) |
Jul
(14) |
Aug
(16) |
Sep
(23) |
Oct
(6) |
Nov
(4) |
Dec
(5) |
2011 |
Jan
(4) |
Feb
(22) |
Mar
(45) |
Apr
(9) |
May
(8) |
Jun
(13) |
Jul
(12) |
Aug
(4) |
Sep
(6) |
Oct
(10) |
Nov
(21) |
Dec
(5) |
2012 |
Jan
(6) |
Feb
(9) |
Mar
(25) |
Apr
(6) |
May
(4) |
Jun
(23) |
Jul
(6) |
Aug
(18) |
Sep
(21) |
Oct
(34) |
Nov
(19) |
Dec
(25) |
2013 |
Jan
(8) |
Feb
(34) |
Mar
(35) |
Apr
(4) |
May
(11) |
Jun
(4) |
Jul
(7) |
Aug
(5) |
Sep
(20) |
Oct
(12) |
Nov
(11) |
Dec
(7) |
2014 |
Jan
(10) |
Feb
(18) |
Mar
(50) |
Apr
(26) |
May
(53) |
Jun
(21) |
Jul
(12) |
Aug
(39) |
Sep
(43) |
Oct
(26) |
Nov
(8) |
Dec
(6) |
2015 |
Jan
(18) |
Feb
(32) |
Mar
(31) |
Apr
(42) |
May
(38) |
Jun
(13) |
Jul
(6) |
Aug
(11) |
Sep
(29) |
Oct
(25) |
Nov
(10) |
Dec
(11) |
2016 |
Jan
(24) |
Feb
(12) |
Mar
(13) |
Apr
(15) |
May
(22) |
Jun
(8) |
Jul
(12) |
Aug
(25) |
Sep
(8) |
Oct
(6) |
Nov
(13) |
Dec
(7) |
2017 |
Jan
(6) |
Feb
(29) |
Mar
(32) |
Apr
(8) |
May
(82) |
Jun
(42) |
Jul
(20) |
Aug
(17) |
Sep
(27) |
Oct
(14) |
Nov
(22) |
Dec
(6) |
2018 |
Jan
(12) |
Feb
(9) |
Mar
(22) |
Apr
(19) |
May
(14) |
Jun
(9) |
Jul
(9) |
Aug
(22) |
Sep
(22) |
Oct
(12) |
Nov
(13) |
Dec
(8) |
2019 |
Jan
(22) |
Feb
(3) |
Mar
(30) |
Apr
(20) |
May
(20) |
Jun
(6) |
Jul
(15) |
Aug
(25) |
Sep
(11) |
Oct
(24) |
Nov
(11) |
Dec
(6) |
2020 |
Jan
(9) |
Feb
(12) |
Mar
(29) |
Apr
(10) |
May
(22) |
Jun
(11) |
Jul
(15) |
Aug
(5) |
Sep
(6) |
Oct
(7) |
Nov
(7) |
Dec
(13) |
2021 |
Jan
(21) |
Feb
(5) |
Mar
(5) |
Apr
(6) |
May
(10) |
Jun
(7) |
Jul
(6) |
Aug
(8) |
Sep
(5) |
Oct
(9) |
Nov
(5) |
Dec
(6) |
2022 |
Jan
(5) |
Feb
(4) |
Mar
(8) |
Apr
(6) |
May
(5) |
Jun
(5) |
Jul
(10) |
Aug
(6) |
Sep
(7) |
Oct
(4) |
Nov
(4) |
Dec
(6) |
2023 |
Jan
(5) |
Feb
(5) |
Mar
(6) |
Apr
(4) |
May
(5) |
Jun
(6) |
Jul
(5) |
Aug
(5) |
Sep
(5) |
Oct
(5) |
Nov
(7) |
Dec
(8) |
2024 |
Jan
(3) |
Feb
(1) |
Mar
|
Apr
(2) |
May
|
Jun
(1) |
Jul
(1) |
Aug
(4) |
Sep
|
Oct
|
Nov
|
Dec
(1) |
2025 |
Jan
|
Feb
(2) |
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Jython t. <st...@bu...> - 2021-01-29 18:05:43
|
ACTIVITY SUMMARY (2021-01-22 - 2021-01-29) Jython tracker at https://bugs.jython.org/ To view or respond to any of the issues listed below, click on the issue. Do NOT respond to this message. Issues counts and deltas: open 348 ( -1) closed 2491 ( +2) total 2839 ( +1) Open issues with patches: 22 Issues opened (1) ================= #2916: Saving output of script which has korean string to a file https://bugs.jython.org/issue2916 opened by mithunairani Most recent 15 issues with no replies (15) ========================================== #2916: Saving output of script which has korean string to a file https://bugs.jython.org/issue2916 #2898: Fix serialization format https://bugs.jython.org/issue2898 #2886: doing relative imports in a loop causes bad performance due to https://bugs.jython.org/issue2886 #2882: A cmd.exe in the CWD will be executed unexpectedly https://bugs.jython.org/issue2882 #2878: java.lang.OutOfMemoryError: Java heap space https://bugs.jython.org/issue2878 #2876: NullPointer exception PyModule.java https://bugs.jython.org/issue2876 #2874: Jython 2.7 is not able to import an EBCDIC file on z/OS https://bugs.jython.org/issue2874 #2866: Interface default methods disregarded by the method resolver https://bugs.jython.org/issue2866 #2864: Importing second instance of httplib causes an error https://bugs.jython.org/issue2864 #2854: from module import * leads to wild goose chase https://bugs.jython.org/issue2854 #2798: OpenJDK 1.7.0_75-b13 string regrtest OutOfMemory on windows https://bugs.jython.org/issue2798 #2794: invocation_tests.py missing from modjy tests https://bugs.jython.org/issue2794 #2792: Failures in test_import_jy from Java 13 https://bugs.jython.org/issue2792 #2790: Equivalent signal handlers do not test equal using == https://bugs.jython.org/issue2790 #2770: PBKDF-OpenSSL SecretKeyFactory not available on Java 7 https://bugs.jython.org/issue2770 Most recent 15 issues waiting for review (15) ============================================= #2566: inspect does not recognize code objects from bytecode files https://bugs.jython.org/issue2566 #2545: help() does not work on Java-implemented modules https://bugs.jython.org/issue2545 #2429: cStringIO does not work with mutable objects implementing the https://bugs.jython.org/issue2429 #2367: Jython ignores custom __eq__ when hashing dict subclasses https://bugs.jython.org/issue2367 #2363: relative seeks works incorrectly after readline https://bugs.jython.org/issue2363 #2143: site-packages support in standalone jar https://bugs.jython.org/issue2143 #2142: Set Thread classloader when entering Jython context https://bugs.jython.org/issue2142 #1925: Support loading java.sql.Drivers that aren't on the boot class https://bugs.jython.org/issue1925 #1917: No ctypes.c_char https://bugs.jython.org/issue1917 #1842: Add IBM i support to Jython https://bugs.jython.org/issue1842 #1741: com.ziclix.python.sql.DataHandler calls wasNull without previo https://bugs.jython.org/issue1741 #1646: Proxy getInterface not change for more PyObject https://bugs.jython.org/issue1646 #1612: array.array should use specialized bulk operations to initiali https://bugs.jython.org/issue1612 #1435: traceback doesn't include Java stack trace in user functions https://bugs.jython.org/issue1435 #1336: PyDeque should likely subclass PySequence https://bugs.jython.org/issue1336 Issues closed (2) ================= #2912: B2B Branding https://bugs.jython.org/issue2912 closed by amak #2914: yictic https://bugs.jython.org/issue2914 closed by amak |
From: Nicolas F. <ni...@pn...> - 2021-01-27 22:47:30
|
Thanks for the info Jeff. Best regards, -- Nicolas Falliere (ni...@pn...) JEB Decompiler, Founder and Architect PNF Software <https://www.pnfsoftware.com/> | Follow us on Twitter <https://twitter.com/jebdec> | Join us on Slack <https://www.pnfsoftware.com/chat> | Bulletin Board <https://www.pnfsoftware.com/forum> On Wed, Jan 27, 2021 at 11:46 AM Jeff Allen <ja...@fa...> wrote: > Hi Nicolas, > > This has been suggested as a feature ISTR but is way beyond any plan for > 2.7, which is bug-fixing at best. I'm giving nearly all my time to a > possible Jython 3. > > I agree it seems a natural feature to expect, that Python lambdas (or > functions in general) should match an argument that is a functional > interface (of the right shape). > > Jeff Allen > > > On 27/01/2021 16:51, Nicolas Falliere wrote: > > Hello dev team, > > int foo(BiFunction<Integer, Integer, Integer> f) { > return f.apply(1, 2); > } > foo((a, b) -> a + b ); // ok > > I was wondering if Jython 2.7 would auto-convert to idiomatic lambdas, and > tried: > foo(lambda a, b: a + b) > > alas, I got a > TypeError: can't convert <function <lambda> at 0x3> to > java.util.function.BiFunction > (same problem with a single-arg lambda, e.g. foo(lambda (a, b): a + b)) > > Any plan to support that in a future maintenance release, or maybe for > Jython 3? > > Thanks, > -- > Nicolas Falliere (ni...@pn...) > JEB Decompiler, Founder and Architect > PNF Software <https://www.pnfsoftware.com/> | Follow us on Twitter > <https://twitter.com/jebdec> | Join us on Slack > <https://www.pnfsoftware.com/chat> | Bulletin Board > <https://www.pnfsoftware.com/forum> > > |
From: Jeff A. <ja...@fa...> - 2021-01-27 19:46:43
|
Hi Nicolas, This has been suggested as a feature ISTR but is way beyond any plan for 2.7, which is bug-fixing at best. I'm giving nearly all my time to a possible Jython 3. I agree it seems a natural feature to expect, that Python lambdas (or functions in general) should match an argument that is a functional interface (of the right shape). Jeff Allen On 27/01/2021 16:51, Nicolas Falliere wrote: > Hello dev team, > > int foo(BiFunction<Integer, Integer, Integer> f) { > return f.apply(1, 2); > } > foo((a, b) -> a + b ); // ok > > I was wondering if Jython 2.7 would auto-convert to idiomatic lambdas, > and tried: > foo(lambda a, b: a + b) > > alas, I got a > TypeError: can't convert <function <lambda> at 0x3> to > java.util.function.BiFunction > (same problem with a single-arg lambda, e.g. foo(lambda (a, b): a + b)) > > Any plan to support that in a future maintenance release, or maybe for > Jython 3? > > Thanks, > -- > Nicolas Falliere (ni...@pn... <mailto:ni...@pn...>) > JEB Decompiler, Founder and Architect > PNF Software <https://www.pnfsoftware.com/>| Follow us on Twitter > <https://twitter.com/jebdec> | Join us on Slack > <https://www.pnfsoftware.com/chat> | Bulletin Board > <https://www.pnfsoftware.com/forum> > |
From: Nicolas F. <ni...@pn...> - 2021-01-27 17:14:50
|
Hello dev team, int foo(BiFunction<Integer, Integer, Integer> f) { return f.apply(1, 2); } foo((a, b) -> a + b ); // ok I was wondering if Jython 2.7 would auto-convert to idiomatic lambdas, and tried: foo(lambda a, b: a + b) alas, I got a TypeError: can't convert <function <lambda> at 0x3> to java.util.function.BiFunction (same problem with a single-arg lambda, e.g. foo(lambda (a, b): a + b)) Any plan to support that in a future maintenance release, or maybe for Jython 3? Thanks, -- Nicolas Falliere (ni...@pn...) JEB Decompiler, Founder and Architect PNF Software <https://www.pnfsoftware.com/> | Follow us on Twitter <https://twitter.com/jebdec> | Join us on Slack <https://www.pnfsoftware.com/chat> | Bulletin Board <https://www.pnfsoftware.com/forum> |
From: Jython t. <st...@bu...> - 2021-01-22 18:05:34
|
ACTIVITY SUMMARY (2021-01-15 - 2021-01-22) Jython tracker at https://bugs.jython.org/ To view or respond to any of the issues listed below, click on the issue. Do NOT respond to this message. Issues counts and deltas: open 349 ( +2) closed 2489 ( +0) total 2838 ( +2) Open issues with patches: 22 Issues opened (2) ================= #2912: B2B Branding https://bugs.jython.org/issue2912 opened by michaeljordig #2914: yictic https://bugs.jython.org/issue2914 opened by Devinroy Most recent 15 issues with no replies (15) ========================================== #2914: yictic https://bugs.jython.org/issue2914 #2912: B2B Branding https://bugs.jython.org/issue2912 #2898: Fix serialization format https://bugs.jython.org/issue2898 #2886: doing relative imports in a loop causes bad performance due to https://bugs.jython.org/issue2886 #2882: A cmd.exe in the CWD will be executed unexpectedly https://bugs.jython.org/issue2882 #2878: java.lang.OutOfMemoryError: Java heap space https://bugs.jython.org/issue2878 #2876: NullPointer exception PyModule.java https://bugs.jython.org/issue2876 #2874: Jython 2.7 is not able to import an EBCDIC file on z/OS https://bugs.jython.org/issue2874 #2866: Interface default methods disregarded by the method resolver https://bugs.jython.org/issue2866 #2864: Importing second instance of httplib causes an error https://bugs.jython.org/issue2864 #2854: from module import * leads to wild goose chase https://bugs.jython.org/issue2854 #2798: OpenJDK 1.7.0_75-b13 string regrtest OutOfMemory on windows https://bugs.jython.org/issue2798 #2794: invocation_tests.py missing from modjy tests https://bugs.jython.org/issue2794 #2792: Failures in test_import_jy from Java 13 https://bugs.jython.org/issue2792 #2790: Equivalent signal handlers do not test equal using == https://bugs.jython.org/issue2790 Most recent 15 issues waiting for review (15) ============================================= #2566: inspect does not recognize code objects from bytecode files https://bugs.jython.org/issue2566 #2545: help() does not work on Java-implemented modules https://bugs.jython.org/issue2545 #2429: cStringIO does not work with mutable objects implementing the https://bugs.jython.org/issue2429 #2367: Jython ignores custom __eq__ when hashing dict subclasses https://bugs.jython.org/issue2367 #2363: relative seeks works incorrectly after readline https://bugs.jython.org/issue2363 #2143: site-packages support in standalone jar https://bugs.jython.org/issue2143 #2142: Set Thread classloader when entering Jython context https://bugs.jython.org/issue2142 #1925: Support loading java.sql.Drivers that aren't on the boot class https://bugs.jython.org/issue1925 #1917: No ctypes.c_char https://bugs.jython.org/issue1917 #1842: Add IBM i support to Jython https://bugs.jython.org/issue1842 #1741: com.ziclix.python.sql.DataHandler calls wasNull without previo https://bugs.jython.org/issue1741 #1646: Proxy getInterface not change for more PyObject https://bugs.jython.org/issue1646 #1612: array.array should use specialized bulk operations to initiali https://bugs.jython.org/issue1612 #1435: traceback doesn't include Java stack trace in user functions https://bugs.jython.org/issue1435 #1336: PyDeque should likely subclass PySequence https://bugs.jython.org/issue1336 |
From: Adam B. <ada...@gm...> - 2021-01-17 11:05:54
|
I’d agree with ensuring “main” is a branch that always builds, and following the updated naming convention, as you suggest. Adam > 在 2021年1月17日,下午7:02,Jeff Allen <ja...@fa...> 写道: > > If we were to follow CPython practice, as we try to, we would create a 2.7 maintenance branch on GitHub and continue development of new features on "master". Actually, we would have done that some time ago. > > I propose to do something slightly different as there are some complications: > > 1. This is a major version change, which is a special case. (What I > described is for when the minor version changes.) > 2. The 3.x code base starts "functionally empty", by which I mean > Jython 2 code is present but not compiled. This may be confusing for > anyone landing on the repo. > 3. There is a fashion now to call the default branch "main" rather than > "master" and renaming has been facilitated at GitHub > (https://github.com/github/renaming). > > The slightly different thing I propose is: > > 1. Create a branch called "main" at a point a little after 2.7.2 (and > after recovery from the history corruption Jim spotted). This is the > developement branch, but you have to select it specifically. > 2. After a delay, rename "master" to 2.7. (Branch "master" on your > local repo still points to this. PRs against "master" at that point > re-target to "2.7" and it is still the default. See link.) > 3. Once Jython 3 on "main" looks credible as an alpha, make "main" the > default branch. > > I'm saying this here in case anyone has a reason why it's terrible idea. > > Jeff > > -- > Jeff Allen > > > > _______________________________________________ > Jython-dev mailing list > Jyt...@li... > https://lists.sourceforge.net/lists/listinfo/jython-dev |
From: Jeff A. <ja...@fa...> - 2021-01-17 09:42:22
|
I heard that recently and took a look at the documents. There is some cool stuff here for anyone who wanted to make a Java numpy. Maybe deciding a string is ASCII/BMP. As for vectorisation in code we generate ... just generating functional byte code will be difficult enough. As the investigations on this thread suggest, the compiler will step in to do the rest, given a fair wind. Jeff Jeff Allen On 15/01/2021 20:10, Thad Guidry wrote: > Jeff, > > You might also be impressed that the Java Vector API intends to be a > cleaner way, via Java objects and interfaces. John Rose (Thinking > Machines, Sun, Oracle) speaks of the new ways on this incredible > podcast https://inside.java/2020/11/17/podcast-007/ > <https://inside.java/2020/11/17/podcast-007/> > > Thad > https://www.linkedin.com/in/thadguidry/ > <https://www.linkedin.com/in/thadguidry/> > |
From: Jeff A. <ja...@fa...> - 2021-01-17 09:01:36
|
If we were to follow CPython practice, as we try to, we would create a 2.7 maintenance branch on GitHub and continue development of new features on "master". Actually, we would have done that some time ago. I propose to do something slightly different as there are some complications: 1. This is a major version change, which is a special case. (What I described is for when the minor version changes.) 2. The 3.x code base starts "functionally empty", by which I mean Jython 2 code is present but not compiled. This may be confusing for anyone landing on the repo. 3. There is a fashion now to call the default branch "main" rather than "master" and renaming has been facilitated at GitHub (https://github.com/github/renaming). The slightly different thing I propose is: 1. Create a branch called "main" at a point a little after 2.7.2 (and after recovery from the history corruption Jim spotted). This is the developement branch, but you have to select it specifically. 2. After a delay, rename "master" to 2.7. (Branch "master" on your local repo still points to this. PRs against "master" at that point re-target to "2.7" and it is still the default. See link.) 3. Once Jython 3 on "main" looks credible as an alpha, make "main" the default branch. I'm saying this here in case anyone has a reason why it's terrible idea. Jeff -- Jeff Allen |
From: Thad G. <tha...@gm...> - 2021-01-15 20:10:31
|
Jeff, You might also be impressed that the Java Vector API intends to be a cleaner way, via Java objects and interfaces. John Rose (Thinking Machines, Sun, Oracle) speaks of the new ways on this incredible podcast https://inside.java/2020/11/17/podcast-007/ Thad https://www.linkedin.com/in/thadguidry/ |
From: Jython t. <st...@bu...> - 2021-01-15 18:05:41
|
ACTIVITY SUMMARY (2021-01-08 - 2021-01-15) Jython tracker at https://bugs.jython.org/ To view or respond to any of the issues listed below, click on the issue. Do NOT respond to this message. Issues counts and deltas: open 347 ( -4) closed 2489 ( +4) total 2836 ( +0) Open issues with patches: 22 Most recent 15 issues with no replies (15) ========================================== #2898: Fix serialization format https://bugs.jython.org/issue2898 #2886: doing relative imports in a loop causes bad performance due to https://bugs.jython.org/issue2886 #2882: A cmd.exe in the CWD will be executed unexpectedly https://bugs.jython.org/issue2882 #2878: java.lang.OutOfMemoryError: Java heap space https://bugs.jython.org/issue2878 #2876: NullPointer exception PyModule.java https://bugs.jython.org/issue2876 #2874: Jython 2.7 is not able to import an EBCDIC file on z/OS https://bugs.jython.org/issue2874 #2866: Interface default methods disregarded by the method resolver https://bugs.jython.org/issue2866 #2864: Importing second instance of httplib causes an error https://bugs.jython.org/issue2864 #2854: from module import * leads to wild goose chase https://bugs.jython.org/issue2854 #2798: OpenJDK 1.7.0_75-b13 string regrtest OutOfMemory on windows https://bugs.jython.org/issue2798 #2794: invocation_tests.py missing from modjy tests https://bugs.jython.org/issue2794 #2792: Failures in test_import_jy from Java 13 https://bugs.jython.org/issue2792 #2790: Equivalent signal handlers do not test equal using == https://bugs.jython.org/issue2790 #2770: PBKDF-OpenSSL SecretKeyFactory not available on Java 7 https://bugs.jython.org/issue2770 #2760: How to call procedure with use zxjdbc and get back OUT paramet https://bugs.jython.org/issue2760 Most recent 15 issues waiting for review (15) ============================================= #2566: inspect does not recognize code objects from bytecode files https://bugs.jython.org/issue2566 #2545: help() does not work on Java-implemented modules https://bugs.jython.org/issue2545 #2429: cStringIO does not work with mutable objects implementing the https://bugs.jython.org/issue2429 #2367: Jython ignores custom __eq__ when hashing dict subclasses https://bugs.jython.org/issue2367 #2363: relative seeks works incorrectly after readline https://bugs.jython.org/issue2363 #2143: site-packages support in standalone jar https://bugs.jython.org/issue2143 #2142: Set Thread classloader when entering Jython context https://bugs.jython.org/issue2142 #1925: Support loading java.sql.Drivers that aren't on the boot class https://bugs.jython.org/issue1925 #1917: No ctypes.c_char https://bugs.jython.org/issue1917 #1842: Add IBM i support to Jython https://bugs.jython.org/issue1842 #1741: com.ziclix.python.sql.DataHandler calls wasNull without previo https://bugs.jython.org/issue1741 #1646: Proxy getInterface not change for more PyObject https://bugs.jython.org/issue1646 #1612: array.array should use specialized bulk operations to initiali https://bugs.jython.org/issue1612 #1435: traceback doesn't include Java stack trace in user functions https://bugs.jython.org/issue1435 #1336: PyDeque should likely subclass PySequence https://bugs.jython.org/issue1336 Issues closed (4) ================= #2904: best seo companies in bangalore https://bugs.jython.org/issue2904 closed by amak #2906: spam https://bugs.jython.org/issue2906 closed by amak #2908: b schools in bangalore https://bugs.jython.org/issue2908 closed by amak #2910: b schools in bangalore https://bugs.jython.org/issue2910 closed by amak |
From: Rory O'D. <ror...@or...> - 2021-01-15 09:22:33
|
Hi All, *Per the JDK 16 schedule , we are in Rampdown Phase Two* *[1] . * *Please advise if you find any issues while testing the latest Early Access builds.* * Schedule for JDK 16 o *2021/01/14 Rampdown Phase Two* o 2021/02/04 Initial Release Candidate o 2021/02/18 Final Release Candidate o 2021/03/16 General Availability * Release Notes [2] OpenJDK 16 Early Access build 32**is now available at http://jdk.java.net/16 * These early-access, open-source builds are provided under the GNU General Public License, version 2, with the Classpath Exception <http://openjdk.java.net/legal/gplv2+ce.html>. * Features [3] - the overall feature set is frozen. No further JEPs will be targeted to this release. * Changes in recent builds that maybe of interest: o Build 32: + JDK-8259028 - ClassCastException when using custom filesystem with wrapper FileChannel impl # Apache Lucene found. + JDK-8253996 - Javac error on jdk16 build 18: invalid flag: -Xdoclint:-missing # Apache Zookeeper found. o Build 31: + JDK-8259027: NullPointerException in makeMappedSegment due to NULL Unmapper when length of segment is 0 # Reported by Apache Lucene o Build 30: + JDK-8254023: A module declaration is not allowed to be a target of an annotation that lacks an @Target meta-annotation # Reported by JUnit5 + JDK-8256693: getAnnotatedReceiverType parameterizes types too eagerly * JDK 16 - topics of interest o Investigating MD5 overheads: https://cl4es.github.io/2021/01/04/Investigating-MD5-Overheads.html o Towards OpenJDK 17 - a quick update on startup performance https://cl4es.github.io/2020/12/06/Towards-OpenJDK-17.html o Migrating OpenJDK to Git & GitHub - GitHub Universe 2020 session replay https://inside.java/2020/12/11/skara-github-universe/ Project Panama/foreign EA Build 16-panama+3-385 (2020/12/10) <https://jdk.java.net/panama/> is available now [4] * What's new o jextract is now fully compatible with Java 16 o New architecture based on Foreign-Memory Access API (JEP 370 <https://openjdk.java.net/jeps/370>, JEP 383 <https://openjdk.java.net/jeps/383>, JEP 393 <https://openjdk.java.net/jeps/393>) and Foreign Linker API (JEP 389 <https://openjdk.java.net/jeps/389>) * These early-access builds are provided under the GNU General Public License, version 2, with the Classpath Exception <http://openjdk.java.net/legal/gplv2+ce.html> * EA builds are produced for the purpose of gathering feedback. Use for any other purpose is at your own risk. * Please send feedback via e-mail to pan...@op... <pan...@op...>. To send e-mail to this address you must first subscribe to the mailing list <https://mail.openjdk.java.net/mailman/listinfo/panama-dev>. * Project Panama - topics of interest o “The Vector API” with John Rose and Paul Sandoz https://inside.java/2020/11/17/podcast-007/ o “The Foreign Memory Access API” with Maurizio Cimadamore and Jorn Vernee https://inside.java/2020/12/11/podcast-009/ o “The Foreign Linker API” with Maurizio Cimadamore and Jorn Vernee https://inside.java/2020/12/21/podcast-010/ OpenJDK 17 Early Access build 5**is now available at http://jdk.java.net/17 * These early-access, open-source builds are provided under the GNU General Public License, version 2, with the Classpath Exception <http://openjdk.java.net/legal/gplv2+ce.html>. * Changes in recent builds that maybe of interest: o Build 4: + JDK-8258800: Deprecate -XX:+AlwaysLockClassLoader o Build 3: + JDK-8246005: KeyStoreSpi::engineStore(LoadStoreParameter) spec mismatch to its behavior + JDK-8258765: getAnnotatedReceiverType parameterizes types too eagerly * JDK 17 - topic of interest o Towards OpenJDK 17 - a quick update on startup performance: + https://cl4es.github.io/2020/12/06/Towards-OpenJDK-17.html Java Cryptographic Roadmap [5] has been updated * Removing root certificates with 1024-bit keys in July 2021 CPU. * Disabling of SHA-1 JARS signed after 2019-01-01 has been postponed to July 2021 CPU. Rgds, Rory [1] https://mail.openjdk.java.net/pipermail/jdk-dev/2021-January/005001.html [2] https://jdk.java.net/16/release-notes [3] http://openjdk.java.net/projects/jdk/16/ <http://openjdk.java.net/projects/jdk/16/> [4] https://mail.openjdk.java.net/pipermail/panama-dev/2020-December/011605.html <https://mail.openjdk.java.net/pipermail/panama-dev/2020-December/011605.html> [5] https://java.com/en/jre-jdk-cryptoroadmap.html <https://java.com/en/jre-jdk-cryptoroadmap.html> |
From: Jeff A. <ja...@fa...> - 2021-01-07 18:18:53
|
On 07/01/2021 11:50, Andrew Haley wrote: > On 1/6/21 4:28 PM, Jeff Allen wrote: >>> And to see if intrinsic methods are being utilized or not and where in >>> compiled code, you can add: >>> -XX:+PrintCompilation -XX:+UnlockDiagnosticVMOptions >>> -XX:+PrintInlining >>> >> Unlock has to come first, it seems. I've experimented with those options >> and found what they produced was pretty incomprehensible. I never made >> the disassembly option work. > If you're interested in persisting a bit more, I can help with this. I did persist thanks, and found a pre-built hsdis which produced the disassembly from which I got the few lines in the e-mail. (Also, I confess I am working on Windows.) So now I just have the comprehension problem. I will return to this, but for now it is enough to have a sense where it falls short. Some of the things I hoped for happen, some don't, and I know roughly what I will try. >> Going back and trying a little harder, thanks to your suggestion, I got >> further this morning. The output remains too complex for me to follow >> (so many jumps!), but a superficial inspection supports the conjectures >> I made based only on timing. > WRT intrinsics: if there's something important, we can do it. Thanks! I don't think I know yet what would be critical, but will bank the offer. Thad is clearly knowledgeable in this area, but I didn't see the mixed results from my first use of invokedynamic as a failure of the JVM to use intrinsics. I've probably misunderstood. The method handle adaptors mostly represent stack manipulations (or simply register selections) around the ultimate arithmetic operations, and I think the JVM will get the idea if I can decrease the nesting to the point where inlining completes. However, if it doesn't do so in critical cases, it's good to have somewhere to go. Jeff Allen |
From: Andrew H. <ap...@re...> - 2021-01-07 11:51:10
|
On 1/6/21 4:28 PM, Jeff Allen wrote: >> And to see if intrinsic methods are being utilized or not and where in >> compiled code, you can add: >> -XX:+PrintCompilation -XX:+UnlockDiagnosticVMOptions >> -XX:+PrintInlining >> > Unlock has to come first, it seems. I've experimented with those options > and found what they produced was pretty incomprehensible. I never made > the disassembly option work. If you're interested in persisting a bit more, I can help with this. git clone https://github.com/openjdk/jdk cd jdk/src/utils/hsdis/ mkdir build git clone git://sourceware.org/git/binutils-gdb.git build/binutils make ARCH=amd64 ls build/linux-amd64/ bfd/ config.log config.status* hsdis-amd64.so* intl/ libiberty/ Makefile opcodes/ serdep.tmp zlib/ That hsdis-amd64.so should be installed in your library path somewhere: on every machine I have access to it's in /usr/lib64. Then all of the PrintAssembly stuff should work. > Going back and trying a little harder, thanks to your suggestion, I got > further this morning. The output remains too complex for me to follow > (so many jumps!), but a superficial inspection supports the conjectures > I made based only on timing. WRT intrinsics: if there's something important, we can do it. -- Andrew Haley (he/him) Java Platform Lead Engineer Red Hat UK Ltd. <https://www.redhat.com> https://keybase.io/andrewhaley EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 |
From: Thad G. <tha...@gm...> - 2021-01-06 18:38:09
|
Oops, here the better link directly to section C.8 SSE2 for your test Athlon CPU https://www.amd.com/system/files/TechDocs/25112.PDF#G18.1592237 Thad https://www.linkedin.com/in/thadguidry/ On Wed, Jan 6, 2021 at 12:22 PM Thad Guidry <tha...@gm...> wrote: > Good job Jeff! > > Glad this is useful in the longterm for you and perhaps other contributors > later on to help with optimization in areas. > > Yeap, you got it... there is `movapd` using xmm3 and xmm0 registers > respectively. > In other words, you have verified that particular one is indeed using > SSE2 instructions on your test Athlon CPU and with the corresponding > latencies and throughput as described in it's reference appendix C.8 for > SSE2 here: > https://www.amd.com/system/files/TechDocs/25112.PDF#G14.232935 > > Note: > >> Although one SSE2 instruction can operate on twice as much data as an MMX >> instruction, performance might not increase significantly. Two major >> reasons are: accessing SSE2 data in memory not aligned >> <https://en.wikipedia.org/wiki/Data_structure_alignment> to a 16-byte >> boundary can incur significant penalty, and the throughput >> <https://en.wikipedia.org/wiki/Throughput> of SSE2 instructions in older >> x86 <https://en.wikipedia.org/wiki/X86> implementations was half that >> for MMX instructions. Intel <https://en.wikipedia.org/wiki/Intel> >> addressed the first problem by adding an instruction in SSE3 >> <https://en.wikipedia.org/wiki/SSE3> to reduce the overhead of accessing >> unaligned data and improving the overall performance of misaligned loads, >> and the last problem by widening the execution engine in their Core >> microarchitecture >> <https://en.wikipedia.org/wiki/Core_(microarchitecture)> in Core 2 Duo >> and later products. > > > https://en.wikipedia.org/wiki/SSE2 > > Anyways, you have some better understanding now on what might be happening > behind the scenes with intrinsic functions used or not and the Hotspot VM. > I noticed you have your source targeting OpenJDK11, so if you want to see > the mapping of the vmSymbols for the intrinsic functions scroll through > this file here or just search (here's jdk10): > > http://hg.openjdk.java.net/jdk10/jdk10/hotspot/file/5ab7a67bc155/src/share/vm/classfile/vmSymbols.hpp > > Thad > https://www.linkedin.com/in/thadguidry/ > > > On Wed, Jan 6, 2021 at 10:28 AM Jeff Allen <ja...@fa...> wrote: > >> On 06/01/2021 02:33, Thad Guidry wrote: >> >> Hi Jeff! >> >> I'm from the OpenRefine team where we are constantly watching the future >> of Jython since we use it as an expression language within OpenRefine, >> along with Clojure. >> We've talked on the mailing list I think in the past, perhaps not. >> >> I think we have. Thanks for your continued interest in Jython. >> >> Regarding the microbenchmarks and your analysis...and some of the >> anomalies you found... >> I'm wondering if you verified that SIMD, SSE, etc. intrinsics were being >> used or not sometimes? >> https://www.amd.com/system/files/TechDocs/25112.PDF#G14.232935 >> >> Yes, I found similar information: that's what led to my conclusions about >> the quartic test. I'm impressed HotSpot is able to use them. >> >> And to see if intrinsic methods are being utilized or not and where in >> compiled code, you can add: >> -XX:+PrintCompilation -XX:+UnlockDiagnosticVMOptions >> -XX:+PrintInlining >> >> Unlock has to come first, it seems. I've experimented with those options >> and found what they produced was pretty incomprehensible. I never made the >> disassembly option work. >> >> Going back and trying a little harder, thanks to your suggestion, I got >> further this morning. The output remains too complex for me to follow (so >> many jumps!), but a superficial inspection supports the conjectures I made >> based only on timing. In particular, of the three fixtures, only for Jython >> 2 does the JVM manage to in-line the floating point arithmetic into >> quartic(). It contains this in what I assume is the fast path: >> >> 0x00000202187735df: movapd xmm3,xmm0 >> 0x00000202187735e3: addsd xmm3,xmm2 >> 0x00000202187735e7: subsd xmm2,xmm0 ;*dsub {reexecute=0 >> rethrow=0 return_oop=0} >> ; - >> org.python.core.PyFloat::float___sub__@23 (line 486) >> ; - >> org.python.core.PyFloat::__sub__@2 (line 477) >> ; - >> org.python.core.PyObject::_basic_sub@2 (line 2192) >> ; - >> org.python.core.PyObject::_sub@31 (line 2177) >> ; - >> uk.co.farowl.jy2bm.PyFloatBinary::quartic@33 (line 86) >> 0x00000202187735eb: mulsd xmm3,xmm1 >> >> I added a task to the Gradle scripts that dumps the compiled code (if one >> has the hsdis-amd64 plug-in) as I'm sure to forget how I did this. >> >> >> https://github.com/jeff5/very-slow-jython/blob/333f61d54787f7499ec8141eafe6b8c5c04f0cea/jy2bm/jy2bm.gradle#L74 >> >> You might also be thought provoked with some extra information within >> this JEP: >> https://bugs.openjdk.java.net/browse/JDK-8205637 >> >> Some Java JVM compilers & many of Java's robust libraries completely miss >> the point of sometimes using Intrinsic functions as often as possible. For >> example: SSE 4.2 >> https://software.intel.com/sites/landingpage/IntrinsicsGuide/#expand=898,2862,2861,2860,2863,2864,2865&techs=SSE4_2 >> and the reason why Azul's Zing JVM is fast, is because it DOES use >> intrinsic functions as much as possible. Kris Mok (Azul Systems) did a >> great presentation of this back in 2013 >> https://www.slideshare.net/RednaxelaFX/green-teajug-hotspotintrinsics02232013 >> >> One of the nice things about a JVM language is that it gets better when >> other people do clever things. >> >> Jeff >> >> |
From: Thad G. <tha...@gm...> - 2021-01-06 18:22:53
|
Good job Jeff! Glad this is useful in the longterm for you and perhaps other contributors later on to help with optimization in areas. Yeap, you got it... there is `movapd` using xmm3 and xmm0 registers respectively. In other words, you have verified that particular one is indeed using SSE2 instructions on your test Athlon CPU and with the corresponding latencies and throughput as described in it's reference appendix C.8 for SSE2 here: https://www.amd.com/system/files/TechDocs/25112.PDF#G14.232935 Note: > Although one SSE2 instruction can operate on twice as much data as an MMX > instruction, performance might not increase significantly. Two major > reasons are: accessing SSE2 data in memory not aligned > <https://en.wikipedia.org/wiki/Data_structure_alignment> to a 16-byte > boundary can incur significant penalty, and the throughput > <https://en.wikipedia.org/wiki/Throughput> of SSE2 instructions in older > x86 <https://en.wikipedia.org/wiki/X86> implementations was half that for > MMX instructions. Intel <https://en.wikipedia.org/wiki/Intel> addressed > the first problem by adding an instruction in SSE3 > <https://en.wikipedia.org/wiki/SSE3> to reduce the overhead of accessing > unaligned data and improving the overall performance of misaligned loads, > and the last problem by widening the execution engine in their Core > microarchitecture <https://en.wikipedia.org/wiki/Core_(microarchitecture)> > in Core 2 Duo and later products. https://en.wikipedia.org/wiki/SSE2 Anyways, you have some better understanding now on what might be happening behind the scenes with intrinsic functions used or not and the Hotspot VM. I noticed you have your source targeting OpenJDK11, so if you want to see the mapping of the vmSymbols for the intrinsic functions scroll through this file here or just search (here's jdk10): http://hg.openjdk.java.net/jdk10/jdk10/hotspot/file/5ab7a67bc155/src/share/vm/classfile/vmSymbols.hpp Thad https://www.linkedin.com/in/thadguidry/ On Wed, Jan 6, 2021 at 10:28 AM Jeff Allen <ja...@fa...> wrote: > On 06/01/2021 02:33, Thad Guidry wrote: > > Hi Jeff! > > I'm from the OpenRefine team where we are constantly watching the future > of Jython since we use it as an expression language within OpenRefine, > along with Clojure. > We've talked on the mailing list I think in the past, perhaps not. > > I think we have. Thanks for your continued interest in Jython. > > Regarding the microbenchmarks and your analysis...and some of the > anomalies you found... > I'm wondering if you verified that SIMD, SSE, etc. intrinsics were being > used or not sometimes? > https://www.amd.com/system/files/TechDocs/25112.PDF#G14.232935 > > Yes, I found similar information: that's what led to my conclusions about > the quartic test. I'm impressed HotSpot is able to use them. > > And to see if intrinsic methods are being utilized or not and where in > compiled code, you can add: > -XX:+PrintCompilation -XX:+UnlockDiagnosticVMOptions -XX:+PrintInlining > > Unlock has to come first, it seems. I've experimented with those options > and found what they produced was pretty incomprehensible. I never made the > disassembly option work. > > Going back and trying a little harder, thanks to your suggestion, I got > further this morning. The output remains too complex for me to follow (so > many jumps!), but a superficial inspection supports the conjectures I made > based only on timing. In particular, of the three fixtures, only for Jython > 2 does the JVM manage to in-line the floating point arithmetic into > quartic(). It contains this in what I assume is the fast path: > > 0x00000202187735df: movapd xmm3,xmm0 > 0x00000202187735e3: addsd xmm3,xmm2 > 0x00000202187735e7: subsd xmm2,xmm0 ;*dsub {reexecute=0 > rethrow=0 return_oop=0} > ; - > org.python.core.PyFloat::float___sub__@23 (line 486) > ; - > org.python.core.PyFloat::__sub__@2 (line 477) > ; - > org.python.core.PyObject::_basic_sub@2 (line 2192) > ; - > org.python.core.PyObject::_sub@31 (line 2177) > ; - > uk.co.farowl.jy2bm.PyFloatBinary::quartic@33 (line 86) > 0x00000202187735eb: mulsd xmm3,xmm1 > > I added a task to the Gradle scripts that dumps the compiled code (if one > has the hsdis-amd64 plug-in) as I'm sure to forget how I did this. > > > https://github.com/jeff5/very-slow-jython/blob/333f61d54787f7499ec8141eafe6b8c5c04f0cea/jy2bm/jy2bm.gradle#L74 > > You might also be thought provoked with some extra information within this > JEP: > https://bugs.openjdk.java.net/browse/JDK-8205637 > > Some Java JVM compilers & many of Java's robust libraries completely miss > the point of sometimes using Intrinsic functions as often as possible. For > example: SSE 4.2 > https://software.intel.com/sites/landingpage/IntrinsicsGuide/#expand=898,2862,2861,2860,2863,2864,2865&techs=SSE4_2 > and the reason why Azul's Zing JVM is fast, is because it DOES use > intrinsic functions as much as possible. Kris Mok (Azul Systems) did a > great presentation of this back in 2013 > https://www.slideshare.net/RednaxelaFX/green-teajug-hotspotintrinsics02232013 > > One of the nice things about a JVM language is that it gets better when > other people do clever things. > > Jeff > > |
From: Jeff A. <ja...@fa...> - 2021-01-06 16:29:22
|
On 06/01/2021 02:33, Thad Guidry wrote: > Hi Jeff! > > I'm from the OpenRefine team where we are constantly watching the > future of Jython since we use it as an expression language within > OpenRefine, along with Clojure. > We've talked on the mailing list I think in the past, perhaps not. > I think we have. Thanks for your continued interest in Jython. > Regarding the microbenchmarks and your analysis...and some of the > anomalies you found... > I'm wondering if you verified that SIMD, SSE, etc. intrinsics were > being used or not sometimes? > https://www.amd.com/system/files/TechDocs/25112.PDF#G14.232935 > <https://www.amd.com/system/files/TechDocs/25112.PDF#G14.232935> > Yes, I found similar information: that's what led to my conclusions about the quartic test. I'm impressed HotSpot is able to use them. > And to see if intrinsic methods are being utilized or not and where in > compiled code, you can add: > -XX:+PrintCompilation -XX:+UnlockDiagnosticVMOptions > -XX:+PrintInlining > Unlock has to come first, it seems. I've experimented with those options and found what they produced was pretty incomprehensible. I never made the disassembly option work. Going back and trying a little harder, thanks to your suggestion, I got further this morning. The output remains too complex for me to follow (so many jumps!), but a superficial inspection supports the conjectures I made based only on timing. In particular, of the three fixtures, only for Jython 2 does the JVM manage to in-line the floating point arithmetic into quartic(). It contains this in what I assume is the fast path: 0x00000202187735df: movapd xmm3,xmm0 0x00000202187735e3: addsd xmm3,xmm2 0x00000202187735e7: subsd xmm2,xmm0 ;*dsub {reexecute=0 rethrow=0 return_oop=0} ; - org.python.core.PyFloat::float___sub__@23 (line 486) ; - org.python.core.PyFloat::__sub__@2 (line 477) ; - org.python.core.PyObject::_basic_sub@2 (line 2192) ; - org.python.core.PyObject::_sub@31 (line 2177) ; - uk.co.farowl.jy2bm.PyFloatBinary::quartic@33 (line 86) 0x00000202187735eb: mulsd xmm3,xmm1 I added a task to the Gradle scripts that dumps the compiled code (if one has the hsdis-amd64 plug-in) as I'm sure to forget how I did this. https://github.com/jeff5/very-slow-jython/blob/333f61d54787f7499ec8141eafe6b8c5c04f0cea/jy2bm/jy2bm.gradle#L74 > You might also be thought provoked with some extra information within > this JEP: > https://bugs.openjdk.java.net/browse/JDK-8205637 > <https://bugs.openjdk.java.net/browse/JDK-8205637> > > Some Java JVM compilers & many of Java's robust libraries completely > miss the point of sometimes using Intrinsic functions as often as > possible. For example: SSE 4.2 > https://software.intel.com/sites/landingpage/IntrinsicsGuide/#expand=898,2862,2861,2860,2863,2864,2865&techs=SSE4_2 > <https://software.intel.com/sites/landingpage/IntrinsicsGuide/#expand=898,2862,2861,2860,2863,2864,2865&techs=SSE4_2>and > the reason why Azul's Zing JVM is fast, is because it DOES use > intrinsic functions as much as possible. Kris Mok (Azul Systems) did a > great presentation of this back in 2013 > https://www.slideshare.net/RednaxelaFX/green-teajug-hotspotintrinsics02232013 > <https://www.slideshare.net/RednaxelaFX/green-teajug-hotspotintrinsics02232013> > One of the nice things about a JVM language is that it gets better when other people do clever things. Jeff |
From: Thad G. <tha...@gm...> - 2021-01-06 02:33:46
|
Hi Jeff! I'm from the OpenRefine team where we are constantly watching the future of Jython since we use it as an expression language within OpenRefine, along with Clojure. We've talked on the mailing list I think in the past, perhaps not. Anyways, I don't know how much of this you might already know, so sorry if you do: Regarding the microbenchmarks and your analysis...and some of the anomalies you found... I'm wondering if you verified that SIMD, SSE, etc. intrinsics were being used or not sometimes? https://www.amd.com/system/files/TechDocs/25112.PDF#G14.232935 And to see if intrinsic methods are being utilized or not and where in compiled code, you can add: -XX:+PrintCompilation -XX:+UnlockDiagnosticVMOptions -XX:+PrintInlining You might also be thought provoked with some extra information within this JEP: https://bugs.openjdk.java.net/browse/JDK-8205637 Some Java JVM compilers & many of Java's robust libraries completely miss the point of sometimes using Intrinsic functions as often as possible. For example: SSE 4.2 https://software.intel.com/sites/landingpage/IntrinsicsGuide/#expand=898,2862,2861,2860,2863,2864,2865&techs=SSE4_2 and the reason why Azul's Zing JVM is fast, is because it DOES use intrinsic functions as much as possible. Kris Mok (Azul Systems) did a great presentation of this back in 2013 https://www.slideshare.net/RednaxelaFX/green-teajug-hotspotintrinsics02232013 Thad https://www.linkedin.com/in/thadguidry/ On Tue, Jan 5, 2021 at 5:56 PM Jeff Allen <ja...@fa...> wrote: > I've been thinking about the implementation of a Jython core that would > make proper use of dynamic language features in Java. > > Although peformance is secondary to correctness, one would like to avoid > producing elegantly correct code that could only ever run like a slug. > Numerical operations are indispensible, so I constructed JMH benchmarks > for dispatch of unary and binary operations on int and float, when these > are "hot code". The short version of the results is: > > 1. A core may be implemented (called here VSJ 2) that broadly follows > CPython, but uses a Java method handle in place of each C pointer to > function, and it will run at an acceptable speed. (Comparison is > difficult between JMH and timeit, but it is fair to say VSJ 2 has "about > the speed of CPython".) > > 2. Jython 2 is a lot faster than VSJ 2, almost certainly because HotSpot > in-lines and specialises virtual calls so effectively. > > 3. We may use the method handles from VSJ 2 in invokedynamic call sites. > The result is a little faster than Jython 2 in places, and significantly > slower in others. However, there is scope for further optimisation. > > A longer version is here: > > https://the-very-slow-jython-project.readthedocs.io/en/latest/performance/_performance.html > > Jeff > > -- > Jeff Allen > > > > _______________________________________________ > Jython-dev mailing list > Jyt...@li... > https://lists.sourceforge.net/lists/listinfo/jython-dev > |
From: Albert C. <sap...@gm...> - 2021-01-06 00:37:21
|
Thanks Jeff, that was an enjoyable read. Thanks for putting this together and sharing it! Missatge de Jeff Allen <ja...@fa...> del dia dt., 5 de gen. 2021 a les 23:56: > > I've been thinking about the implementation of a Jython core that would > make proper use of dynamic language features in Java. > > Although peformance is secondary to correctness, one would like to avoid > producing elegantly correct code that could only ever run like a slug. > Numerical operations are indispensible, so I constructed JMH benchmarks > for dispatch of unary and binary operations on int and float, when these > are "hot code". The short version of the results is: > > 1. A core may be implemented (called here VSJ 2) that broadly follows > CPython, but uses a Java method handle in place of each C pointer to > function, and it will run at an acceptable speed. (Comparison is > difficult between JMH and timeit, but it is fair to say VSJ 2 has "about > the speed of CPython".) > > 2. Jython 2 is a lot faster than VSJ 2, almost certainly because HotSpot > in-lines and specialises virtual calls so effectively. > > 3. We may use the method handles from VSJ 2 in invokedynamic call sites. > The result is a little faster than Jython 2 in places, and significantly > slower in others. However, there is scope for further optimisation. > > A longer version is here: > https://the-very-slow-jython-project.readthedocs.io/en/latest/performance/_performance.html > > Jeff > > -- > Jeff Allen > > > > _______________________________________________ > Jython-dev mailing list > Jyt...@li... > https://lists.sourceforge.net/lists/listinfo/jython-dev |
From: Jeff A. <ja...@fa...> - 2021-01-05 23:56:02
|
I've been thinking about the implementation of a Jython core that would make proper use of dynamic language features in Java. Although peformance is secondary to correctness, one would like to avoid producing elegantly correct code that could only ever run like a slug. Numerical operations are indispensible, so I constructed JMH benchmarks for dispatch of unary and binary operations on int and float, when these are "hot code". The short version of the results is: 1. A core may be implemented (called here VSJ 2) that broadly follows CPython, but uses a Java method handle in place of each C pointer to function, and it will run at an acceptable speed. (Comparison is difficult between JMH and timeit, but it is fair to say VSJ 2 has "about the speed of CPython".) 2. Jython 2 is a lot faster than VSJ 2, almost certainly because HotSpot in-lines and specialises virtual calls so effectively. 3. We may use the method handles from VSJ 2 in invokedynamic call sites. The result is a little faster than Jython 2 in places, and significantly slower in others. However, there is scope for further optimisation. A longer version is here: https://the-very-slow-jython-project.readthedocs.io/en/latest/performance/_performance.html Jeff -- Jeff Allen |
From: Jython t. <st...@bu...> - 2021-01-01 18:05:33
|
ACTIVITY SUMMARY (2020-12-25 - 2021-01-01) Jython tracker at https://bugs.jython.org/ To view or respond to any of the issues listed below, click on the issue. Do NOT respond to this message. Issues counts and deltas: open 347 ( +0) closed 2485 ( +0) total 2832 ( +0) Open issues with patches: 22 Most recent 15 issues with no replies (15) ========================================== #2898: Fix serialization format https://bugs.jython.org/issue2898 #2886: doing relative imports in a loop causes bad performance due to https://bugs.jython.org/issue2886 #2882: A cmd.exe in the CWD will be executed unexpectedly https://bugs.jython.org/issue2882 #2878: java.lang.OutOfMemoryError: Java heap space https://bugs.jython.org/issue2878 #2876: NullPointer exception PyModule.java https://bugs.jython.org/issue2876 #2874: Jython 2.7 is not able to import an EBCDIC file on z/OS https://bugs.jython.org/issue2874 #2866: Interface default methods disregarded by the method resolver https://bugs.jython.org/issue2866 #2864: Importing second instance of httplib causes an error https://bugs.jython.org/issue2864 #2854: from module import * leads to wild goose chase https://bugs.jython.org/issue2854 #2798: OpenJDK 1.7.0_75-b13 string regrtest OutOfMemory on windows https://bugs.jython.org/issue2798 #2794: invocation_tests.py missing from modjy tests https://bugs.jython.org/issue2794 #2792: Failures in test_import_jy from Java 13 https://bugs.jython.org/issue2792 #2790: Equivalent signal handlers do not test equal using == https://bugs.jython.org/issue2790 #2770: PBKDF-OpenSSL SecretKeyFactory not available on Java 7 https://bugs.jython.org/issue2770 #2760: How to call procedure with use zxjdbc and get back OUT paramet https://bugs.jython.org/issue2760 Most recent 15 issues waiting for review (15) ============================================= #2566: inspect does not recognize code objects from bytecode files https://bugs.jython.org/issue2566 #2545: help() does not work on Java-implemented modules https://bugs.jython.org/issue2545 #2429: cStringIO does not work with mutable objects implementing the https://bugs.jython.org/issue2429 #2367: Jython ignores custom __eq__ when hashing dict subclasses https://bugs.jython.org/issue2367 #2363: relative seeks works incorrectly after readline https://bugs.jython.org/issue2363 #2143: site-packages support in standalone jar https://bugs.jython.org/issue2143 #2142: Set Thread classloader when entering Jython context https://bugs.jython.org/issue2142 #1925: Support loading java.sql.Drivers that aren't on the boot class https://bugs.jython.org/issue1925 #1917: No ctypes.c_char https://bugs.jython.org/issue1917 #1842: Add IBM i support to Jython https://bugs.jython.org/issue1842 #1741: com.ziclix.python.sql.DataHandler calls wasNull without previo https://bugs.jython.org/issue1741 #1646: Proxy getInterface not change for more PyObject https://bugs.jython.org/issue1646 #1612: array.array should use specialized bulk operations to initiali https://bugs.jython.org/issue1612 #1435: traceback doesn't include Java stack trace in user functions https://bugs.jython.org/issue1435 #1336: PyDeque should likely subclass PySequence https://bugs.jython.org/issue1336 |
From: Jeff A. <ja...@fa...> - 2020-12-26 21:49:50
|
Thanks for pointing that out. The uber-JAR approach shows its limitations here. The 2.7.2 edition offers a slim JAR so you can manage your own dependencies in a civilised way. This is the way forward, I think, and AFAIK correctly done. Jeff Allen On 23/12/2020 23:12, Nicolas Falliere wrote: > Just an FYI, something I noticed when migrating a code base from jdk > 11 to 14. > > If a project using classes in org.w3c.dom is in the unnamed module, > javac will report a conflict since org.w3c.dom is accessible from both > <unnamed> and java.xml modules. > > A solution is to manually remove org.w3c.dom from the jython-xxx.jar. > > Best regards, > -- > Nicolas Falliere (ni...@pn... <mailto:ni...@pn...>) > JEB Decompiler, Founder and Architect > PNF Software <https://www.pnfsoftware.com/>| Follow us on Twitter > <https://twitter.com/jebdec> | Join us on Slack > <https://www.pnfsoftware.com/chat> | Bulletin Board > <https://www.pnfsoftware.com/forum> > |
From: Jython t. <st...@bu...> - 2020-12-25 18:05:40
|
ACTIVITY SUMMARY (2020-12-18 - 2020-12-25) Jython tracker at https://bugs.jython.org/ To view or respond to any of the issues listed below, click on the issue. Do NOT respond to this message. Issues counts and deltas: open 347 ( +0) closed 2485 ( +0) total 2832 ( +0) Open issues with patches: 22 Most recent 15 issues with no replies (15) ========================================== #2898: Fix serialization format https://bugs.jython.org/issue2898 #2886: doing relative imports in a loop causes bad performance due to https://bugs.jython.org/issue2886 #2882: A cmd.exe in the CWD will be executed unexpectedly https://bugs.jython.org/issue2882 #2878: java.lang.OutOfMemoryError: Java heap space https://bugs.jython.org/issue2878 #2876: NullPointer exception PyModule.java https://bugs.jython.org/issue2876 #2874: Jython 2.7 is not able to import an EBCDIC file on z/OS https://bugs.jython.org/issue2874 #2866: Interface default methods disregarded by the method resolver https://bugs.jython.org/issue2866 #2864: Importing second instance of httplib causes an error https://bugs.jython.org/issue2864 #2854: from module import * leads to wild goose chase https://bugs.jython.org/issue2854 #2798: OpenJDK 1.7.0_75-b13 string regrtest OutOfMemory on windows https://bugs.jython.org/issue2798 #2794: invocation_tests.py missing from modjy tests https://bugs.jython.org/issue2794 #2792: Failures in test_import_jy from Java 13 https://bugs.jython.org/issue2792 #2790: Equivalent signal handlers do not test equal using == https://bugs.jython.org/issue2790 #2770: PBKDF-OpenSSL SecretKeyFactory not available on Java 7 https://bugs.jython.org/issue2770 #2760: How to call procedure with use zxjdbc and get back OUT paramet https://bugs.jython.org/issue2760 Most recent 15 issues waiting for review (15) ============================================= #2566: inspect does not recognize code objects from bytecode files https://bugs.jython.org/issue2566 #2545: help() does not work on Java-implemented modules https://bugs.jython.org/issue2545 #2429: cStringIO does not work with mutable objects implementing the https://bugs.jython.org/issue2429 #2367: Jython ignores custom __eq__ when hashing dict subclasses https://bugs.jython.org/issue2367 #2363: relative seeks works incorrectly after readline https://bugs.jython.org/issue2363 #2143: site-packages support in standalone jar https://bugs.jython.org/issue2143 #2142: Set Thread classloader when entering Jython context https://bugs.jython.org/issue2142 #1925: Support loading java.sql.Drivers that aren't on the boot class https://bugs.jython.org/issue1925 #1917: No ctypes.c_char https://bugs.jython.org/issue1917 #1842: Add IBM i support to Jython https://bugs.jython.org/issue1842 #1741: com.ziclix.python.sql.DataHandler calls wasNull without previo https://bugs.jython.org/issue1741 #1646: Proxy getInterface not change for more PyObject https://bugs.jython.org/issue1646 #1612: array.array should use specialized bulk operations to initiali https://bugs.jython.org/issue1612 #1435: traceback doesn't include Java stack trace in user functions https://bugs.jython.org/issue1435 #1336: PyDeque should likely subclass PySequence https://bugs.jython.org/issue1336 |
From: Nicolas F. <ni...@pn...> - 2020-12-24 01:00:34
|
Just an FYI, something I noticed when migrating a code base from jdk 11 to 14. If a project using classes in org.w3c.dom is in the unnamed module, javac will report a conflict since org.w3c.dom is accessible from both <unnamed> and java.xml modules. A solution is to manually remove org.w3c.dom from the jython-xxx.jar. Best regards, -- Nicolas Falliere (ni...@pn...) JEB Decompiler, Founder and Architect PNF Software <https://www.pnfsoftware.com/> | Follow us on Twitter <https://twitter.com/jebdec> | Join us on Slack <https://www.pnfsoftware.com/chat> | Bulletin Board <https://www.pnfsoftware.com/forum> |
From: Jython t. <st...@bu...> - 2020-12-18 18:31:24
|
ACTIVITY SUMMARY (2020-12-11 - 2020-12-18) Jython tracker at https://bugs.jython.org/ To view or respond to any of the issues listed below, click on the issue. Do NOT respond to this message. Issues counts and deltas: open 347 ( +0) closed 2485 ( +1) total 2832 ( +1) Open issues with patches: 22 Most recent 15 issues with no replies (15) ========================================== #2898: Fix serialization format https://bugs.jython.org/issue2898 #2886: doing relative imports in a loop causes bad performance due to https://bugs.jython.org/issue2886 #2882: A cmd.exe in the CWD will be executed unexpectedly https://bugs.jython.org/issue2882 #2878: java.lang.OutOfMemoryError: Java heap space https://bugs.jython.org/issue2878 #2876: NullPointer exception PyModule.java https://bugs.jython.org/issue2876 #2874: Jython 2.7 is not able to import an EBCDIC file on z/OS https://bugs.jython.org/issue2874 #2866: Interface default methods disregarded by the method resolver https://bugs.jython.org/issue2866 #2864: Importing second instance of httplib causes an error https://bugs.jython.org/issue2864 #2854: from module import * leads to wild goose chase https://bugs.jython.org/issue2854 #2798: OpenJDK 1.7.0_75-b13 string regrtest OutOfMemory on windows https://bugs.jython.org/issue2798 #2794: invocation_tests.py missing from modjy tests https://bugs.jython.org/issue2794 #2792: Failures in test_import_jy from Java 13 https://bugs.jython.org/issue2792 #2790: Equivalent signal handlers do not test equal using == https://bugs.jython.org/issue2790 #2770: PBKDF-OpenSSL SecretKeyFactory not available on Java 7 https://bugs.jython.org/issue2770 #2760: How to call procedure with use zxjdbc and get back OUT paramet https://bugs.jython.org/issue2760 Most recent 15 issues waiting for review (15) ============================================= #2566: inspect does not recognize code objects from bytecode files https://bugs.jython.org/issue2566 #2545: help() does not work on Java-implemented modules https://bugs.jython.org/issue2545 #2429: cStringIO does not work with mutable objects implementing the https://bugs.jython.org/issue2429 #2367: Jython ignores custom __eq__ when hashing dict subclasses https://bugs.jython.org/issue2367 #2363: relative seeks works incorrectly after readline https://bugs.jython.org/issue2363 #2143: site-packages support in standalone jar https://bugs.jython.org/issue2143 #2142: Set Thread classloader when entering Jython context https://bugs.jython.org/issue2142 #1925: Support loading java.sql.Drivers that aren't on the boot class https://bugs.jython.org/issue1925 #1917: No ctypes.c_char https://bugs.jython.org/issue1917 #1842: Add IBM i support to Jython https://bugs.jython.org/issue1842 #1741: com.ziclix.python.sql.DataHandler calls wasNull without previo https://bugs.jython.org/issue1741 #1646: Proxy getInterface not change for more PyObject https://bugs.jython.org/issue1646 #1612: array.array should use specialized bulk operations to initiali https://bugs.jython.org/issue1612 #1435: traceback doesn't include Java stack trace in user functions https://bugs.jython.org/issue1435 #1336: PyDeque should likely subclass PySequence https://bugs.jython.org/issue1336 Issues closed (1) ================= #2902: Server Administrator https://bugs.jython.org/issue2902 closed by stefan.richthofer |
From: Rory O'D. <ror...@or...> - 2020-12-13 16:51:47
|
Hi All, *Per the JDK 16 schedule , we are in Rampdown Phase One* *[1] . * *Please advise if you find any issues while testing the latest Early Access builds.* * Schedule for JDK 16 o *2020/12/10 Rampdown Phase One* o 2021/01/14 Rampdown Phase Two o 2021/02/04 Initial Release Candidate o 2021/02/18 Final Release Candidate o 2021/03/16 General Availability * Release Notes [2] OpenJDK 16 Early Access build 28**is now available at http://jdk.java.net/16 * Features - the overall feature set is frozen. No further JEPs will be targeted to this release. * Significant Integrations in b28: o *Integrated JEP 396: **Strongly Encapsulate JDK Internals by Default <https://openjdk.java.net/jeps/396>** * + Strongly encapsulate all internal elements of the JDK by default, except for critical internal APIs <https://openjdk.java.net/jeps/260#Description> such as |sun.misc.Unsafe|. + Allow end users to choose the relaxed strong encapsulation that has been the default since JDK 9. o Integrated JEP 397: Sealed Classes (Second Preview) <https://openjdk.java.net/jeps/397> with this release. + Enhance the Java programming language with sealed classes and interfaces <https://cr.openjdk.java.net/~briangoetz/amber/datum.html>. + Refines JEP 360 <https://openjdk.java.net/jeps/360> which was delivered in JDK 15 as a preview feature. * These early-access , open-source builds are provided under the GNU General Public License, version 2, with the Classpath Exception <http://openjdk.java.net/legal/gplv2+ce.html>. * Changes in recent builds that maybe of interest: o Build 28 + JDK-8256299: JEP 396: Strongly Encapsulate JDK Internals by Default + JDK-8166596: TLS support for the EdDSA signature algorithm + JDK-8256718: Old tracing flags are now obsolete and must be replaced with unified logging o Build 27 + JDK-8159746: (proxy) Support for default methods + JDK-8254631: Better support ALPN byte wire values in SunJSSE Project Loom Early-Access: *Build 16-loom+9-316 <http://jdk.java.net/loom/>* (2020/11/30) - based on JDK-16+25 <https://github.com/openjdk/jdk/releases/tag/jdk-16%2B25> * These early-access builds are provided under the GNU General Public License, version 2, with the Classpath Exception <http://openjdk.java.net/legal/gplv2+ce.html> * These builds are intended for developers looking to "kick the tyres" and provide feedback on using the API or by sending bug reports. * Please send feedback via e-mail to loo...@op... <mailto:loo...@op...>. To send e-mail to this address you must first subscribe to the mailing list <http://mail.openjdk.java.net/mailman/listinfo/loom-dev>. Rgds, Rory [1] https://mail.openjdk.java.net/pipermail/jdk-dev/2020-December/004991.html [2] https://jdk.java.net/16/release-notes |