gfm-plugin icon indicating copy to clipboard operation
gfm-plugin copied to clipboard

0.1.1 is 245.2 MiB size!!!!

Open nazar-pc opened this issue 11 years ago • 12 comments

Why GFM plugin is so huge in size O_o?

nazar-pc avatar Mar 20 '15 19:03 nazar-pc

I would suggest to not bundle those OS specific libs, but to download them on demand - from dropbox or somewhere. Jetbrains would surely appreciate it :)

krasa avatar Mar 20 '15 20:03 krasa

For rendering a preview you need to have some sort of WebView.

Early versions of this plugin used(and still are) LoboEvolution and JavaFx WebView but those two has their drawbacks. Starting from 0.1.0 gfm plugin uses JxBrowser(200+mb) for rendering as a default. Here is small comparison table for WebViews which i considered to use in gfm plugin:

JxBrowser JavaFX WebView LoboEvolution SWT browser
Can be embedded in swing without on OS X (64 bit) :white_check_mark: :white_check_mark: :white_check_mark: :x: (cocoa restrictions)
Runs with Java 6 :white_check_mark: :x: (Unless it's Windows) :white_check_mark: :white_check_mark:
Renders SVG :white_check_mark: :white_check_mark: :x: :white_check_mark:
Renders Images :white_check_mark: :white_check_mark: :x: :white_check_mark:
Renders Css properly :white_check_mark: :ballot_box_with_check: (Has problems with fonts) :x: :white_check_mark:
Fast rendering speed :white_check_mark: :white_check_mark: :x: :white_check_mark:

Many people still run Intellij platform products on java 6(no JavaFx) due to font rendering problems with java 7 and java 8 on retina displays; some versions(new ones) of Intellij platform products comes with bundled OpenJre 8 without OpenFx bundled(so JavaFx WebView will not work). In fact even if Intellij is run with (Oracle)Java8 JavaFx is not in classpath so I need to do some nasty things to get it worked.

I'll contact Jetbrains about on demand lib downloading. If Jetbrains will be Ok about getting OS specific libs from some kind of storage on demand that'll do.

ShyykoSerhiy avatar Mar 20 '15 20:03 ShyykoSerhiy

I'm sorry, but even if you'll download it on demand, this is ***king crazy amount of data, IDE itself with lots of functionality have 312 MiB size. Even browser with all possible extensions I have have smaller size. Lets be honest, 245.2 MiB is TOO MUCH for plugin of such kind.

I'm not familiar with Java, so I can't suggest anything here, but I hope it will be possible to find solution with reasonable size, lets say, < 10 MiB

nazar-pc avatar Mar 20 '15 20:03 nazar-pc

@nazar-pc libs for other OSs take 200MB. 50 MB jar for Windows is totally ok with me, if the permgen can handle it.

krasa avatar Mar 20 '15 20:03 krasa

@krasa, well, I'm on Linux x64)

nazar-pc avatar Mar 20 '15 20:03 nazar-pc

@nazar-pc 70MB is still ok ^^

krasa avatar Mar 20 '15 20:03 krasa

maybe you can take a look at ghfm, a good implementation in node.js... they do it in 23 MB. ;-)

mralexgray avatar Oct 13 '15 22:10 mralexgray

I suggest to distribute a version without bunding jxbrowser-<platform>-<version>.jar, and when rending engine is JxBrowser, notify the user.

I don't think any user like to download 3 useless huge other platform's jar. For the size:

File Size
jxbrowser-linux32-5.4.3.jar 74M
jxbrowser-linux64-5.4.3.jar 73M
jxbrowser-mac-5.4.3.jar 54M
jxbrowser-win-5.4.3.jar 45M
gfm-plugin.jar, Loboevolution.jar, ... ~ 4.5M

Actually, only one jar is needed. And for other jar, total 4.5M, it's acceptable.

liudongmiao avatar May 10 '16 03:05 liudongmiao

And, another question, why still include LoboEvolution?

liudongmiao avatar May 10 '16 03:05 liudongmiao

Whatever the answer, it kind of sucks to wait 15 minutes for a minor update.

(The JetBrains CDN is very slow...)

mindplay-dk avatar Nov 07 '16 08:11 mindplay-dk

yeah the size is bad. not a fan :(

WilliamStam avatar Aug 02 '17 12:08 WilliamStam

sad to see its open since 2015

harshild avatar Feb 22 '18 11:02 harshild