Re: Some Thoughts
seb bacon <[email protected]> Wed, 05 Feb 2003 14:17:05 +0000
| Newsgroups | gmane.comp.web.zope.zope2-migration |
|---|---|
| Message-ID | <[email protected]> |
Joseph,
I'm afraid you are unlikely to find much support for your java-zope
campaign among most core developers ;-)
1) It is *highly* unlikely that jython would improve performance
2) Performance is not an issue for Zope users. The performance issue is
easily punted on to other parts of an infrastructure.
The performance argument is really a dead-end. There is possibly a case
for Java in terms of winning over more developers from the Java world,
but I don't believe that increasing Zope mindshare is a goal of the
Zope2 -> 3 migration. Zope 3 is about doing things the Right Way, and
the migration is about convincing people that it is a Good Thing.
I suggest that if you want to continue the debate, put out a call on
zope-dev, and possibly set up a mailing list if there is enough
interest. Furthermore, none of the *current* core developers have *any*
interest in such a project (for good or bad reasons), so you could also
find some Java / Jython developers and enthuse to them about it.
Some notes re. performance follow.
seb
Joseph Grace wrote:
> >With regard to Java: I personally have NO interest in a Java port.
>
> You would not need to; you just need to want a faster zope.
- jython is not faster than python in arbitrary pystone-based
benchmarks; it is roughly equivalent
- jython/java performance varies massively depending on the JVM used
- I believe that using JITs is not recommended with jython, which will
cause a significant decrease in performance
- pystone benchmarks are one thing; real-world apps are another. We
won't know how well Zope will perform under jython until it is
implementated in jython.
There is absolutely no reason to believe that a jython version of Zope
would be any faster, or easy to implement.
> Python dovetails virtually perfectly with the jvm object model.
Hmm, multiple inheritance? Interfaces? Operator overloading?
Other incompatibilies:
- jython doesn't have a restricted execution mode.
- jython doesn't support the same introspection interfaces as python
> All of a sudden the code would be running at JVM speed which is
> (debates aside) nearly C/C++ speed for typical code
I don't understand.
- JVMs are implemented partly in C.
- A hardware JVM might compare favourably. A Microsoft JVM is a bit
faster than the Sun JVM. All software JVMs are an extra execution
layer on top of the hardware. There is no useful or meaningful
comparison you can make between "JVM speed" and "C speed", beyond
that C is *much* faster.
- Java and python are both slower than C by several orders of magnitude
seb