From: Adam B. <ada...@gm...> - 2020-05-16 13:24:01
|
Hi Albert A PR is standard. The mercurial stuff is involved in applying the final patch but patch submitters don't need to worry about it. Dev guide here https://jython-devguide.readthedocs.io/en/latest/ Cheers Adam On Sat, 16 May 2020 at 23:14, Albert Cardona <sap...@gm...> wrote: > Hi all, > I think I can improve the performance of imap significantly. > Would you take pull requests at > https://github.com/jythontools/jython/blob/master/src/org/python/modules/itertools/imap.java > ? > Or should one submit patches to the mercurial repository? > Thanks, > Albert > > On May 16, 2020, at 12:09 AM, Albert Cardona <sap...@gm...> wrote: > > Hi all, > > I am seeing severe performance problems when looping over sequences > and invoking a single method on each element of the sequence, both > with a for loop and with an imap + deque maxlen=0 strategy. The > baseline is clojure, which is fully typed and compiled to bytecode. > > The difference is staggering: 500x to 1000x (from about 1 second to 1 > millisecond). > > Here is a script that can run in Fiji: > > > https://github.com/acardona/scripts/blob/dev/python/imagej/tests/test_looping_performance_imglib2_setOne.py > > The script creates an ImgLib2 image of width=512, height=512, depth=5, > of type unsigned byte, and then loops over all pixels to invoke the > method "setOne" on each pixel (pixels are presented as wrapped by an > UnsignedByteType object that offers the "setOne" method). There is an > underlying byte[] array of size 512*512*5 to the image. > > Why the enormous difference? Anything that can be done to mitigate this > issue? > > Thank you very much. > > Albert > > _______________________________________________ > Jython-dev mailing list > Jyt...@li... > https://lists.sourceforge.net/lists/listinfo/jython-dev > |