Cool. Thanks for the input and the volunteer when you have time.
Gee, I hope i do not sound geek programmer defensive, all this is simply fun programming code for me (xmlserivce, php, etc.) ... a bug is a bug, a design issue an opportunity, etc. ... actually i really enjoy IBM+Zend Open Source development, where we can nearly instantly turn around customer requests/problems for things to make your web/PHP life easy (including RPG xmlservice code).
I have yet another version on my way to helping you achieve "reasonable" performance ...
http://www.youngiprofessionals.com/wiki ... ICETestingActive test versions
2012–11–02 -xmlservice-rpg-1.7.4-sg3.zip
ADD — working on performance improvement for extreme large data sets (5000 elements <data>)
current test improved for 40 seconds to 8 seconds, not done with work, but try if you would like
still using only RPG ILE XML parsing … PASE supplemented XML parsing option possible, but not implemented (yet)
small degradation on normal workloads, but will probably figure that out soon (very small)
Personal note:
I don't mind chasing better performance, we needed to do this anyway as Alan/I were just getting XMLSERVICE to run at all first go around.
However, hopefully we/you keep in mind actual route of any "real script" request usually runs all way from browser ... through IBM i Apache job/thread ... FastCGI php-cgfi+ibm_db2 job ... DB2 QSQSRVR help job ... XMLSERVICE job (private/stateless) ... and all the way back to browser, so even if we could run xmlservice one million call loops a second, Apache could only cycle out maybe 400-800 hits second practical web site.
Last resort (not yet):
I have NOT dropped into PASE assembler yet (i have a very fast prototype), so XMLSERVICE is still pure ILE RPG (Yahoo) that anyone can read ... mmm ... PLEASE be careful what you asked for in terms of performance, i am very good AIX/PASE developer, but RPG folks will NOT be able to read Open Source XMLSERVICE if i resort to this PASE method (i don't need PASE compiler can write binary/object code).