jfreesvg
marlin-renderer
jfreesvg | marlin-renderer | |
---|---|---|
2 | 1 | |
312 | 179 | |
- | - | |
4.9 | 5.2 | |
20 days ago | 4 months ago | |
Java | Java | |
GNU General Public License v3.0 only | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
jfreesvg
- Reducing code size in (Rust) librsvg by removing an unnecessary generic struct
-
Different algorithms for converting binary to decimal floating-point numbers
In Java, many number-to-string implementations use NumberFormat. This is abysmally slow if the problem domain doesn't require internationalization, which is the case for machine-readable file formats, such as SVG. When I performance tested JMathTeX for rendering TeX, the bottleneck for converting TeX into SVG elements was JFreeSVG's use of NumberFormat[0]. Replacing NumberFormat with RyuDouble doubled the throughput[1]. (Reusing a StringBuilder for to concatenate strings yielded another doubling.)
For KeenType[2], a fork of the New Typesetting System (and more complete TeX implementation than JMathTeX), I added an SVG generator that converts numbers to string using a StackOverflow answer[3], instead of using Ryu[4]. The performance was even better and the algorithm vastly simpler.
Knuth was right: measure, then optimize.
[0]: https://github.com/jfree/jfreesvg
[1]: https://github.com/jfree/jfreesvg/pull/30
[2]: https://github.com/DaveJarvis/KeenType
[3]: https://stackoverflow.com/a/10554128/59087
[4]: https://github.com/DaveJarvis/KeenType/blob/fef005579021f394...
marlin-renderer
-
JavaFX links of the week October 7th as posted on jfx-central.com
Marlin renderer: https://github.com/bourgesl/marlin-renderer
What are some alternatives?
KeenType - Pure Java typesetting system
gluon-samples - Gluon sample projects
llvm-project - The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
CalendarFX - A Java framework for creating sophisticated calendar views (JavaFX 8, 9, 10, and 11)
async-profiler - Sampling CPU and HEAP profiler for Java featuring AsyncGetCallTrace + perf_events
bourgesl
Mockito - Most popular Mocking framework for unit tests written in Java
RubikCube - Rubik's cube made with javafx3D (Custom moves and solving algorithm). Includes an Android version.
marlin-fx - MarlinFX is the JavaFX port of the Marlin renderer (scanline rasterizer)
DevoxxBadges