You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@beehive.apache.org by "Bryan Che (JIRA)" <be...@incubator.apache.org> on 2004/12/10 23:33:11 UTC
[jira] Updated: (BEEHIVE-128) Switch from java.net.URLEncoder/Decoder to org.apache.commons.codec.net.URLCodec for
[ http://nagoya.apache.org/jira/browse/BEEHIVE-128?page=history ]
Bryan Che updated BEEHIVE-128:
------------------------------
Attachment: urlencode-patch.tar.gz
This is the README included in the patch:
This is a patch that changes Beehive from using the
java.net.URLEncoder/Decoder to org.apache.commons.codec.net.URLCodec for
performance and scalability reasons. The URLCodec in commons codec
performs over 4x faster than the Sun implementation. Additionally, I
have many times found scalability bottlenecks with java.net.URLEncoder
in pages that do a fair amount of encoding. A page with many links
might do this, for example.
I am including a benchmark, CodecTest.java, that demonstrates the
performance difference between the encoding methods. The results are in
CodecTest.results.
At a high level, this patch does several things:
- move commons-codec-1.3.jar from wsm/external just to external so that
netui can access it too
- add a class, org.apache.beehive.netui.util.URLCodec that has static
methods for encoding/decoding. This will allow beehive to easily
switch URLEncoding/decoding implementations by just modifying this
class.
- change Beehive code to use org.apache.beehive.netui.util.URLCodec
instead of the java.net classes
- refactor the code base by moving the classes under
netui/src/util/org/apache/beehive/netui/core into a new module,
netui/src/core/org/apache/beehive/netui/core. I had to do this
in order for the util module not to have any dependencies on other
modules. Otherwise, there would have been circular dependencies with
util referring to classes in other packages and other packages
referring to the URLCodec in util. The classes I moved to core didn't
seem to belong in the util module anyway, since they are in the
org.apache.beehive.netui.core.urls packages and not the
org.apache.beehive.netui.util package
- update build.xml files to refer to the new core jar file
This patch modifies the following files listed in patch.txt:
- wsm/build.xml
- beehive.properties
- netui/src/util/build.xml
- netui/src/pageflow/build.xml
- netui/src/tags-html/build.xml
- netui/src/tags-databinding/build.xml
- netui/ant/build.xml
- netui/ant/netui.properties
- build.xml
- netui/src/tags-html/org/apache/beehive/netui/tags/tree/Tree.java
- netui/src/util/org/apache/beehive/netui/core/urls/MutableURI.java
- netui/src/scoping/org/apache/beehive/netui/pageflow/scoping/internal/ScopedRequestImpl.java
- wsm/drt/build.xml
- netui/src/tags-html/org/apache/beehive/netui/tags/HtmlUtils.java
Additionally, you have to perform the following steps in svn:
- move commons-codec from wsm/external/commons-codec-1.3.jar to
external/commons-codec/commons-codec-1.3.jar
- move the package netui/src/util/org/apache/beehive/netui/core to
netui/src/core/org/apache/beehive/netui/core after you have patched
MutableURI.java
- add netui/src/core/build.xml
- add netui/src/util/org/apache/beehive/netui/util/URLCodec.java
> Switch from java.net.URLEncoder/Decoder to org.apache.commons.codec.net.URLCodec for
performance and scalability reasons
> -------------------------------------------------------------------------------------------------------------------------
>
> Key: BEEHIVE-128
> URL: http://nagoya.apache.org/jira/browse/BEEHIVE-128
> Project: Beehive
> Type: Improvement
> Components: NetUI, Web Services (181), Build
> Reporter: Bryan Che
> Attachments: urlencode-patch.tar.gz
>
> java.net.URLEncoder/Decoder is pretty slow and often bottlenecks pages/servers that do a fair amount of encoding. We should switch to org.apache.commons.codec.net.URLCodec instead, which is much faster--especially since Beehive already ships commons-codec. I have a patch that does this and will be uploading it shortly.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
Re: [jira] Updated: (BEEHIVE-128) Switch from java.net.URLEncoder/Decoder to org.apache.commons.codec.net.URLCodec for
Posted by Daryl Olander <do...@gmail.com>.
I'll take a look at this Bryan, it may take a couple of day to get
back to it. Thanks for doing the work.
On Fri, 10 Dec 2004 14:33:11 -0800 (PST), Bryan Che (JIRA)
<be...@incubator.apache.org> wrote:
> [ http://nagoya.apache.org/jira/browse/BEEHIVE-128?page=history ]
>
> Bryan Che updated BEEHIVE-128:
> ------------------------------
>
> Attachment: urlencode-patch.tar.gz
>
> This is the README included in the patch:
>
> This is a patch that changes Beehive from using the
> java.net.URLEncoder/Decoder to org.apache.commons.codec.net.URLCodec for
> performance and scalability reasons. The URLCodec in commons codec
> performs over 4x faster than the Sun implementation. Additionally, I
> have many times found scalability bottlenecks with java.net.URLEncoder
> in pages that do a fair amount of encoding. A page with many links
> might do this, for example.
>
> I am including a benchmark, CodecTest.java, that demonstrates the
> performance difference between the encoding methods. The results are in
> CodecTest.results.
>
> At a high level, this patch does several things:
> - move commons-codec-1.3.jar from wsm/external just to external so that
> netui can access it too
> - add a class, org.apache.beehive.netui.util.URLCodec that has static
> methods for encoding/decoding. This will allow beehive to easily
> switch URLEncoding/decoding implementations by just modifying this
> class.
> - change Beehive code to use org.apache.beehive.netui.util.URLCodec
> instead of the java.net classes
> - refactor the code base by moving the classes under
> netui/src/util/org/apache/beehive/netui/core into a new module,
> netui/src/core/org/apache/beehive/netui/core. I had to do this
> in order for the util module not to have any dependencies on other
> modules. Otherwise, there would have been circular dependencies with
> util referring to classes in other packages and other packages
> referring to the URLCodec in util. The classes I moved to core didn't
> seem to belong in the util module anyway, since they are in the
> org.apache.beehive.netui.core.urls packages and not the
> org.apache.beehive.netui.util package
> - update build.xml files to refer to the new core jar file
>
> This patch modifies the following files listed in patch.txt:
> - wsm/build.xml
> - beehive.properties
> - netui/src/util/build.xml
> - netui/src/pageflow/build.xml
> - netui/src/tags-html/build.xml
> - netui/src/tags-databinding/build.xml
> - netui/ant/build.xml
> - netui/ant/netui.properties
> - build.xml
> - netui/src/tags-html/org/apache/beehive/netui/tags/tree/Tree.java
> - netui/src/util/org/apache/beehive/netui/core/urls/MutableURI.java
> - netui/src/scoping/org/apache/beehive/netui/pageflow/scoping/internal/ScopedRequestImpl.java
> - wsm/drt/build.xml
> - netui/src/tags-html/org/apache/beehive/netui/tags/HtmlUtils.java
>
> Additionally, you have to perform the following steps in svn:
> - move commons-codec from wsm/external/commons-codec-1.3.jar to
> external/commons-codec/commons-codec-1.3.jar
> - move the package netui/src/util/org/apache/beehive/netui/core to
> netui/src/core/org/apache/beehive/netui/core after you have patched
> MutableURI.java
> - add netui/src/core/build.xml
> - add netui/src/util/org/apache/beehive/netui/util/URLCodec.java
>
> > Switch from java.net.URLEncoder/Decoder to org.apache.commons.codec.net.URLCodec for
> performance and scalability reasons
> > -------------------------------------------------------------------------------------------------------------------------
> >
> > Key: BEEHIVE-128
> > URL: http://nagoya.apache.org/jira/browse/BEEHIVE-128
> > Project: Beehive
> > Type: Improvement
> > Components: NetUI, Web Services (181), Build
> > Reporter: Bryan Che
> > Attachments: urlencode-patch.tar.gz
> >
> > java.net.URLEncoder/Decoder is pretty slow and often bottlenecks pages/servers that do a fair amount of encoding. We should switch to org.apache.commons.codec.net.URLCodec instead, which is much faster--especially since Beehive already ships commons-codec. I have a patch that does this and will be uploading it shortly.
>
> --
> This message is automatically generated by JIRA.
> -
> If you think it was sent incorrectly contact one of the administrators:
> http://nagoya.apache.org/jira/secure/Administrators.jspa
> -
> If you want more information on JIRA, or have a bug to report see:
> http://www.atlassian.com/software/jira
>
>