asciidoctor / asciidoctorj-pdf

AsciidoctorJ PDF bundles the Asciidoctor PDF RubyGem (asciidoctor-pdf) so it can be loaded into the JVM using JRuby.
Apache License 2.0
35 stars 17 forks source link

update to asciidoctor-pdf 1.6.0 #58

Closed ahus1 closed 3 years ago

ahus1 commented 3 years ago

Thank you for opening a pull request and contributing to AsciidoctorJ PDF!

Please take a bit of time giving some details about your pull request:

Kind of change

Description

What is the goal of this pull request? This is a daring attempt to update to asciidoctor-pdf 1.6.0 and all related versions until the unit tests are green again.

How does it achieve that? By updating asciidoctor-pdf and several pinned libraries that weren't compatible with Asciidoctor 2 any more

Are there any alternative ways to implement this? Maybe some of the libraries (like ttfunk) could be un-pinned? Also the jruby-complete is pinned in the itest project, maybe that could be removed as well.

Are there any implications of this pull request? Anything a user must know? As outlined in the asciidoctor-pdf release notes, this now requires Asciidoctor 2+ and JRuby 9.2+

Issue

If this PR fixes an open issue, please add a line of the form:

Release notes

Please add a corresponding entry to the file CHANGELOG.adoc

There is currently no CHANGELOG.adoc file in the repository. Should one be added using the template of the asciidoctorj repostiory?

robertpanzer commented 3 years ago

Thank you!

robertpanzer commented 3 years ago

I am seeing an increase of ~5 seconds in conversion time when rendering a very simple adoc containing nothing but a simple source block. Instead of ~9 seconds it takes about ~14 seconds now on my admittedly pretty old machine.

asciidoctorj-pdf 1.5.4 with asciidoctor 2.5.1:

# time ./asciidoctorj -b pdf test.adoc
./asciidoctorj -b pdf test.adoc  9,96s user 0,69s system 138% cpu 7,683 total

asciidoctorj-pdf 1.6.0 with asciidoctor 2.5.1:

# time ./asciidoctorj -b pdf test.adoc
./asciidoctorj -b pdf test.adoc  14,10s user 1,83s system 128% cpu 12,396 total
robertpanzer commented 3 years ago

It looks like concurrent-ruby 1.1.8 also sneaked in here now. After fixing it to 1.1.7 the time for converting a pdf goes down a bit, but still ~2 seconds higher than 1.5.4:

# time ./asciidoctorj -b pdf test.adoc
./asciidoctorj -b pdf test.adoc  11,39s user 1,15s system 128% cpu 9,790 total
robertpanzer commented 3 years ago

I don't seem to get the initialization time down. I guess we just have to live with it and be aware of that when users report issues again. (Imo when running asciidoctorj-pdf in a server anything after the initialisation is what counts, and an application should require asciidoctor-pdf explicitly upfront.)