Git Product home page Git Product logo

Comments (12)

svanteschubert avatar svanteschubert commented on July 29, 2024 1

Cool, you may find sample documents in the folder: https://github.com/tdf/odftoolkit/tree/master/odfdom/src/test/resources/performance

Thanks in advance,
Svante

from odftoolkit.

svanteschubert avatar svanteschubert commented on July 29, 2024 1

That was quick! :-) Thank you! 👍
How do we trigger the performance test and where might be the best place to document its existence?

PS: Yes, it is still JDK 8 and my suggestion is to keep it simple, do quickly our first Maven release on TDF and update the JDK to be up to date with existing updates and technology features.

from odftoolkit.

svanteschubert avatar svanteschubert commented on July 29, 2024 1

Hi Ken, I was a little distracted from a different opensource project (synergies hopefully come later), but the apache documentation is under reconstruction at the moment on this branch:
https://github.com/tdf/odftoolkit/tree/website
The branch is basically copied from my work at https://github.com/svanteschubert/odftoolkit_website, where the /docs directory is being mapped to:
https://svanteschubert.github.io/odftoolkit_website/
and in the last URL you can view the current state of documentation..
For instance, for ODFDOM this is the right place:
https://svanteschubert.github.io/odftoolkit_website/odfdom/index.html
and now I found a broken link:
https://svanteschubert.github.io/odftoolkit_website/odfdom/Development.html
If you (or others) like to assist, just ping me I am located in Berlin (UTC+2) and can give you some introduction if desired..

from odftoolkit.

kv-gh avatar kv-gh commented on July 29, 2024

If you have some sample documents, I could give this a stab.

from odftoolkit.

kv-gh avatar kv-gh commented on July 29, 2024

Silly question: Is there a branch or fork of the project using JDK12? It looks the project uses 1.8...

I can bring in JMH via a dependency in the meantime:

<dependency>
    <groupId>org.openjdk.jmh</groupId>
    <artifactId>jmh-core</artifactId>
    <version>1.19</version>
</dependency>
<dependency>
    <groupId>org.openjdk.jmh</groupId>
    <artifactId>jmh-generator-annprocess</artifactId>
    <version>1.19</version>
</dependency>

from odftoolkit.

kv-gh avatar kv-gh commented on July 29, 2024

I've pushed the following to my fork of the repo...Please let me know if this was something in line with what you were looking for:

https://github.com/derrg/odftoolkit-1/commit/ec0f94fa550a46c4d1b1a367c86534b65eefb544

Thank you!

from odftoolkit.

kv-gh avatar kv-gh commented on July 29, 2024

The test has a runner class (https://github.com/derrg/odftoolkit-1/commit/ec0f94fa550a46c4d1b1a367c86534b65eefb544#diff-b0a9e2ac591d88bd05137b54b02f453c) which will pick up any benchmarks annotated with @Benchmark.

As far as documentation, I can write up a how-to-use where the other testing documentation lives.

from odftoolkit.

kv-gh avatar kv-gh commented on July 29, 2024

I don't know where that documentation lives, so any insight would be appreciated.

Thanks,

from odftoolkit.

kv-gh avatar kv-gh commented on July 29, 2024

Hey Svante,

Quick update for you...I've added a benchmark to test saving ODF documents as well. I'm going to pull odftoolkit_website into my fork and make the appropriate updates there. I'll @ you when I have the some documentation up for review.

Wrt getting these to run via maven, it looks like I could set up the surefire plugin to run the benchmark runner. I'm more familiar with Gradle, so I'll probably ask for input and/or guidance when I get to that.

Thanks,

from odftoolkit.

svanteschubert avatar svanteschubert commented on July 29, 2024

Many thanks for your assistance, Ken!
My current guess is that the performance test is quite related to integration tests.
Those are running after the JAR is being build and not based on the classes in the directories, but from the JAR.

I looked them up, the configuration for integration tests should be one of the code snipplets from:
https://stackoverflow.com/questions/1399240/how-do-i-get-my-maven-integration-tests-to-run
We have already an integration test, which requires the JAR. It calls the JAR by command line and tests if it provides the correct version, name and build date as output.
Otherwise, it would be pretty hard to realize what version someone is using.
All integration tests should end in their names with "IT.java" and are currently within the project located at: tdf-odftoolkit/odfdom/src/test/java/org/odftoolkit/odfdom/integrationtest

The more visionary, upcoming goal would be to integrate such a performance test via Travis.
But as the performance of the machine is not stable (some machine in the cloud), I can only imagine to run a reference JAR beforehand, where we know the performance from and use this as base line.

Finally, the most visionary goal: if we like to archive quickest build times (esp. test times), we should only run those tests that are influenced by the code being edited - when in doubt run & test everything(someone edited the pom.xml).

I can only imagine that this could work by code coverage & dependency graph, which seems "a little bit" sophisticated ;-)

But one step after the other, the visions are for later.. Thanks again for your help, Ken! :-)
Svante

from odftoolkit.

kv-gh avatar kv-gh commented on July 29, 2024

Hey Sven,

Is there a CI tool that we're looking at using? I can start to get the ITs set up to run on commit & PR if we do.

from odftoolkit.

svanteschubert avatar svanteschubert commented on July 29, 2024

from odftoolkit.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.