× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Lo,

>now we have some numbers, with a little bit more than guessing. If I 
>understand correct this comparison includes the complete application.
For 
>further analysis we have now to separate the "typical database
workload" from 
>the rest (this was the starting point). In my opinion most of the
difference 
>is the lightweight 5250 against dynamic generation of HTML pages and
the job 
>environment itself.

I also used the same very Workload Estimator to compare traditional 5250
workload and Webfaced workload. The difference came up as 4 times, so at
least in view of the developers of this tool, the difference is not just
were you said it was.

In general, however, the question is not who can write a better
application, you in Java or I in RPG (although I'm pretty sure I'll beat
you any time by the factor of 10, especially on the batch front). The
question is what is going to happen when an AVERAGE programmer is given
RPG vs. Java as the tool. But I don't think we can meaningfully discuss
that - there's just not enough statistics; at least, I have no access to
it.

Lo


-----Original Message-----
From: Dieter Bender [mailto:dieter.bender@xxxxxxxxxxxx]
Sent: 12 March 2004 14:03
To: Java Programming on and around the iSeries / AS400
Subject: Re: What is Performance


Lo,

now we have some numbers, with a little bit more than guessing. If I 
understand correct this comparison includes the complete application.
For 
further analysis we have now to seperate the "typical database workload"
from 
the rest (this was the starting point). In my opinion most of the
diffrence 
is the lightweight 5250 against dynamic generation of HTML pages and the
job 
environment itself.

My estimate of 3 Times is based on three measurments:
- profiling of real java applications in load tests with mercury
- own Benchmarks (not made for this purpose, but for JDBC Driver
Measurment) 
- own Benchmarks comparing embedded SQL against RLA in RPG

Dieter

On Freitag, 12. März 2004 14:23, Raikov, Leonid wrote:
> I once used IBM Workload estimator to compare the "traditional" and
> "Webcommerce" workloads. I know how rough such estimates are, but
> nevertheless I was interested in what IBM had to say on the subject.
> Webcommerce came up 64 times more resource-consuming than RPG.
>
> In my personal experience, the difference can be 10 times rather than
64
> time, provided that Java project is immaculately designed and
> implemented and RPG design is what it is.
>
> But data mapping is a sure killer.
>
> Lo
>
> -----Original Message-----
> From: Dieter Bender [mailto:dieter.bender@xxxxxxxxxxxx]
> Sent: 12 March 2004 11:38
> To: Java Programming on and around the iSeries / AS400
> Subject: What is Performance
>
>
> Joe,
>
> > Now, since RPG is anywhere
> > from 10 to 100 times faster than Java in typical database
>
> transactions,
>
> thats one of the misteries, that might have been true some years ago,
or
> that
> might be true for a liitle 170. But today on recent hardware its
simply
> not
> the truth.
>
> For simple transactions (like read a record, or do one single update)
> there
> might be an advantage for rpg, but you have to pay a price for this,
you
> have
> to code every line by hand and changes in database or retrival logic
has
> more
> maintenance afford, compared to modern languages like java, where you
> can use
> mapping tools for instance. This advantage would be in the range of 3
to
> 5
> times faster for rpg to well done java code. If you get 10 to 100
times,
>
> there must be a problem with the design of the java code.
>
> For complex transactions java might be even faster than rpg, if you
use
> multithreading in java to get benefit of parallelism (then you must
not
> use
> EJBs, so its a conclusion that EJBs are not the solution for each
> problem).
> If you want to use this effect in the future, its another conclusion,
> that
> you should not use RPG calls for simple transactions.
>
> Putting this together today a rpg solution might be about 3 times
faster
> for
> one user compared to a well designed java application doing comparable
> work.
> Besides the fact (some like others not) that green screen is
diappearing
> lets
> have a look how applications scale and let's begin with 5250.
>
> Every additional user gets a job of its own and the 5250 rpg stuff
> (COBOL as
> well) scales linear up to the limits of the hardware. The single
process
> has
> a very small footprint and this applications scale so good, that ibm
> invented
> CFINT to let the custumor see that a big as400 is faster than a little
> 250.
>
> Thats very diffrent to the Application Server Environment of WebSphere
> or
> Tomc@ or JBoss. All users share the same Job (ore one per JVM
instance).
>
> Within this Job the work is splitted into multiple threads by the
> container
> itself to get scalability. One easy way to increase the number of
jobs,
> to
> improve scalability of those applications is to increase the number of
> JVMs.
> One way is to have multiple instances of the same Server (depends on
> Server
> howto) or to use diffrent Servers (EJBs is one variant to do this
> without too
> much coding).
>
> The footprint of the java environment is not as lean as the rpg
> environment,
> so that ibm decided, that they don't need CFINT to limit scalability.
> Typical
> as400 shops will get comparable hardware for comparable prices for
their
>
> needs of scalability for java applications running on as400. If they
mix
>
> their java workload with their 5250 workload, this might not be true,
> but is
> a marketing issue.
>
> And now lets have a closer look at the java rpg mix and ist
scalability.
> As
> Joe showed up in his little example the rpg call puts some overhead to
> the
> database workload, I have my "good day" let us forget it. The
> application
> might be a little bit faster, than the pure java solution, but it will
> need
> the needs of the customer anyway, if he has appropriate hardware both
> will be
> in subsecond region. (BTW, if a java application has longer response
> times
> for a single user, then you must have a look to other problems.
Pulling
> 10.000 record in one Vector is not very difficult in java, but it
might
> need
> 10 sec. for instance).
> Putting more concurrent user to the workload is happening in a fixed
> number of
> jobs and all application containers solve this problem by increasing
the
>
> number of concurrent threads in their Job (= JVM). Main factor which
> limits
> scalability in this approach is synchronisation, regardless how many
> power a
> processor has, there is a limit you can't jump over. If the processor
is
>
> strong enough the limit of synchronisation will be reached. (a similar
> effect
> is knonw from record locks in a database).
> Synchronisation is done by the container itself and by the java
> programmer
> using synchronized, or synchronise or by referencing methods wich are
> synchronized (logging for example!!!). And each call to rpg puts
> synchronisation to the application. (you should use a H spec with
thread
>
> *serialize, this synchronizes on the module: only one method of the
> module
> can run at one time and the next waits until its finished). This
> synchronisation for the rpg stuff happens on job level; that means
using
> jni
> to call rpg is worse for scalability. Using the toolbox call classes,
> the
> AS400 Object, representing the connection to another server Job is the
> scope
> for synchrionisation. But whatever you do, the mixed environment
> increases
> your synchronisation overhead significant and is part of scalability.
>
> BTW Assemble was replaced by other langusages when the performance
> punichment
> was in the region of factor 3.
>
> Dieter
>
> > _______________________________________________
> > This is the Java Programming on and around the iSeries / AS400
>
> (JAVA400-L)
>
> > mailing list To post a message email: JAVA400-L@xxxxxxxxxxxx
> > To subscribe, unsubscribe, or change list options,
> > visit: http://lists.midrange.com/mailman/listinfo/java400-l
> > or email: JAVA400-L-request@xxxxxxxxxxxx
> > Before posting, please take a moment to review the archives
> > at http://archive.midrange.com/java400-l.

-- 
mfG

Dieter Bender


DV-Beratung Dieter Bender
Wetzlarerstr. 25
35435 Wettenberg
Tel. +49 641 9805855
Fax +49 641 9805856
www.bender-dv.de
eMail dieter.bender@xxxxxxxxxxxx

_______________________________________________
This is the Java Programming on and around the iSeries / AS400
(JAVA400-L) mailing list
To post a message email: JAVA400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/java400-l
or email: JAVA400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/java400-l.


As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.