'. '

Talk:NetbinoxPerformance

From APIDesign

(Difference between revisions)
Jump to: navigation, search
Line 33: Line 33:
</div>
</div>
-
Thanks a lot for the advice, I'll give it a try tonight.
+
Thanks a lot for the advice, I'll give it a try tonight. It really works: [http://hg.netbeans.org/core-main/rev/02f681fc9f3b 02f681fc9f3b]. Thanks. I shall blog about ''improperly documented APIs'' one day - the '''installBundle''' method does not mention this possibility at all. Thus I was seeking for another method like '''installBundleLocally''', I could not imagine the same would be possible with different protocol.
-
--[[User:JaroslavTulach|JaroslavTulach]] 17:50, 3 April 2010 (UTC)
+
--[[User:JaroslavTulach|JaroslavTulach]] 19:50, 3 April 2010 (UTC)
== Tjwatson said ... ==
== Tjwatson said ... ==

Revision as of 20:03, 3 April 2010

Comments on NetbinoxPerformance <comments />


Tom Watson said ...

Both Equinox and Felix support what folks call "reference" installs. This is done with a "reference" protocol handler.

So if you had code like this:

Bundle b = context.installBundle(
 "file:/mybundles/someBundle.jar");

Then the content of /mybundles/someBundle.jar is copied into the framework cache as you have observed. But you can simply add a "reference:" to the front of your file: URL to have both Equinox and Felix read and use the content of the bundle without copying it into their own cache.

Bundle b = context.installBundle(
 "reference:file:/mybundles/someBundle.jar");

On Equinox (and I think Felix) you can also use reference: URLs to install bundles with opaque location string:

URL reference = new URL(
 "reference:file:/mybundles/someBundle.jar");
Bundle b = context.installBundle(
 "mylocation", reference.openStream());

Care must be used when using reference installs. You must treat the path to the bundle content as owned by the framework as long as that bundle is installed in the framework. You are basically extending the framework cache out to some other path on your system.

Hope that Helps.

--Tom Watson 21:01, 2 April 2010 (CEST)

Thanks a lot for the advice, I'll give it a try tonight. It really works: 02f681fc9f3b. Thanks. I shall blog about improperly documented APIs one day - the installBundle method does not mention this possibility at all. Thus I was seeking for another method like installBundleLocally, I could not imagine the same would be possible with different protocol.

--JaroslavTulach 19:50, 3 April 2010 (UTC)

Tjwatson said ...

Could you clarify what is being run in the performance numbers you gave for Equinox vs. Netbinox?

Are they both running the same set of bundles (together with some parts of NetBeans)? But in the netbinox case you have additional extensions to Equinox that help startup time by doing additional caching?

  • JT: Right, the same set of bundles. In case of Netbinox with our own implementation of BundleFile

The way you stated "I am glad to report that recently we improved Netbinox so much that our testing application (together with some parts of NetBeans) starts faster than Equinox itself." it sounds as though your whole application starts faster than an empty Equinox framework. That is not what you meant, correct?

  • JT: Fixed. Thanks.

--Tjwatson 21:12, 2 April 2010 (CEST)

Personal tools
buy