Your message dated Tue, 26 Jun 2018 20:03:43 -0500
with message-id <87r2ktujkg....@trouble.defaultvalue.org>
and subject line Re: Bug#877418: closed by Chris Lamb <la...@debian.org> 
(Bug#877418: fixed in strip-nondeterminism 0.039-1)
has caused the Debian Bug report #877418,
regarding dh-strip-nondeterminism: kills clojure performance
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
877418: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=877418
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: dh-strip-nondeterminism
Version: 0.034-1

I noticed that Debian's clojure-1.8.0.jar had terrible performance as
compared to both the upstream jar and one built manually via the "mvn
package" or ant process, and after some investigation, I think I've
tracked it down to dh-strip-nondeterminism.

Given the current clojure 1.8.0-2 source tree, adding this to
debian/rules:

  # Ask clojure to do nothing
  define timeclj
    time java -cp debian/libclojure-java/usr/share/java/clojure-1.8.0.jar \
      clojure.main -e ''
  endef

  override_dh_strip_nondeterminism:
          $(timeclj)
          dh_strip_nondeterminism
          $(timeclj)

and then running "fakeroot debian/rules binary" produces this:

  time java -cp debian/libclojure-java/usr/share/java/clojure-1.8.0.jar 
clojure.main -e ''

  real    0m0.919s
  user    0m1.739s
  sys     0m0.064s
  dh_strip_nondeterminism
  time java -cp debian/libclojure-java/usr/share/java/clojure-1.8.0.jar 
clojure.main -e ''

  real    0m4.064s
  user    0m12.204s
  sys     0m0.140s

Thanks
-- 
Rob Browning
rlb @defaultvalue.org and @debian.org
GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A
GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4

--- End Message ---
--- Begin Message ---
Chris Lamb <la...@debian.org> writes:

> I can't reproduce this with strip-nondeterminism 0.042-1 and
> src:clojure 1.8.0-6:

Oddly, I can't either.  It looks like maybe I hadn't actually pulled in
the latest clojure1.8 when I upgraded, but that doesn't explain why my
local build was also slow and I think had the homogeneous timestamps...

But I can verify that clojure1.8 1.8.0-6 seems fine now:

  $ dpkg --status clojure1.8 | grep Version
  Version: 1.8.0-6

  $ dlocate /usr/bin/clojure1.8
  clojure1.8: /usr/bin/clojure1.8

  $ time clojure1.8 -e ''

  real    0m0.852s
  user    0m1.640s
  sys     0m0.063s

  $ jar -tvf /usr/share/maven-repo/org/clojure/clojure/1.8.0/clojure-1.8.0.jar 
| grep -E 'clojure/core(\.clj|\$interleave)'
     580 Sun Jun 24 23:02:08 CDT 2018 clojure/core$interleave$fn__5149.class
    1138 Sun Jun 24 23:02:08 CDT 2018 clojure/core$interleave$fn__5151.class
    1740 Sun Jun 24 23:02:08 CDT 2018 clojure/core$interleave$fn__5154.class
    1826 Sun Jun 24 23:02:08 CDT 2018 clojure/core$interleave.class
  251643 Sun Jun 24 23:02:06 CDT 2018 clojure/core.clj

And I see the expected timestamps for the current sid clojure1.9 (via
clojure) too:

  $ dpkg --status clojure | grep Version
  Version: 1.9.0-4

  $ jar -tvf /usr/share/maven-repo/org/clojure/clojure/1.9.0/clojure-1.9.0.jar 
| grep -E 'clojure/core(\.clj|\$interleave)'
     580 Sun Jun 24 23:56:18 CDT 2018 clojure/core$interleave$fn__8515.class
    1140 Sun Jun 24 23:56:18 CDT 2018 clojure/core$interleave$fn__8517.class
    1742 Sun Jun 24 23:56:18 CDT 2018 clojure/core$interleave$fn__8520.class
    1826 Sun Jun 24 23:56:18 CDT 2018 clojure/core$interleave.class
  259697 Sun Jun 24 23:56:16 CDT 2018 clojure/core.clj

But I do see a ~3x slowdown for 1.9 as compared to a locally built
uberjar:

  $ clj-local
  Clojure 1.9.0
  user=> 

  $ time clj-local -e ''

  real    0m0.675s
  user    0m1.108s
  sys     0m0.075s

  $ time java -cp 
/usr/share/maven-repo/org/clojure/clojure/1.9.0/clojure-1.9.0.jar clojure.main 
-e ''

  real    0m2.252s
  user    0m5.976s
  sys     0m0.111s

In any case, at the moment I don't have any reason to think that's
timestamp-related, as compared to anything else, so I'll (re)close
this for now.

Thanks
-- 
Rob Browning
rlb @defaultvalue.org and @debian.org
GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A
GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4

--- End Message ---
_______________________________________________
Reproducible-builds mailing list
Reproducible-builds@alioth-lists.debian.net
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/reproducible-builds

Reply via email to