I'll be back :-)
/hex
----- Ursprungligt Meddelande -----
Från: Staffan Tylen <staffan.ty...@gmail.com>
Till:<hexi...@users.sourceforge.net> , Open Object Rexx Users
<oorexx-users@lists.sourceforge.net>
Kopia:
Datum: lördag, 20 oktober 2012 22:13
Ämne: Re: [Oorexx-users] oosqlite ? step and result
I have tried sql statements with :aname or ?1 or etc and then bind a value to
that parameter with ~bindtext as I think I get a performance gain by doing so,
part of the sql is already "compiled" by sqlite and it would be conveniant to
get the result back as directory object for each step.
As I followed the conversation about "performance observation..." I realized
that creating the directory objects with (~exec) current implementation take
some resources, I have tables with ~300 000 rows and ~10 columns, and wants to
have the convineance of using the directory objects as reference to the
returned row together with the ~bindtext possibility, less changes to some
existing code I have :-).
/hex
OK, I see what you mean. My immediate reaction is - because Rexx is an
interpretive language, even if compiled, there is the possibility that there is
very little to gain from using SQL bind. I believe the effort for SQLite to
compile an SQL statement is almost negligible compared to Rexx compiling and
executing a Rexx statement. I started to look into the possibility of using
bind but found that I had nothing to gain, it just complicated my coding. As
I've stated earlier, by using exec all the major processing is done in compiled
code in contrast to step, where Rexx must be called for each row. I can imagine
that handling 300,000 rows in Rexx will have an impact on performance.
In any case it would be very interesting if you had a chance to make a
performance comparison between the two. For this you would need to establish
the input and the exact format of the output, then build the step and exec
routines that when executed will take you from A to B. Then use the time("E")
function to time each of them.
Also remember that when you use exec you also have the callBack functionality
available where you can handle individual rows just like step to build for
example a directory. If I remember correctly, in the callBack routine you also
have the power to terminate a query before you have processed all rows, just
like step.
Staffan
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________
Oorexx-users mailing list
Oorexx-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-users