From: Steve H. <st...@we...> - 2012-12-03 19:21:32
|
I just wanted to drop a line into this list to thank you guys for your work. I have been playing around with CodenameOne recently to try to build a port that runs on Avian (an AOT java compiler) because I had a hunch that it would be faster than the code produced by XMLVM (which is their default solution for iOS). I was wrong. Running a simple test on the Towers of Hanoi problem on an app that was built separately using XMLVM and Avian I found that the XMLVM build was actually slightly faster than the Avian AOT compiled binary. I wrote about my experiment in my blog at http://sjhannah.com/blog/?p=225 Anyways. Incredible work. The potential of this project is quite far-reaching. -Steve |
From: Steve H. <st...@we...> - 2012-12-06 22:59:53
|
Just a small update. As it turns out, my first benchmark was flawed because it allowed GCC/LLVM to optimize it more than was fair. After revising the algorithm to force GCC/LLVM to play by the rules I found that Avian edged out XMLVM by about 15% in speed. They were both slower than the native C implementation by a factor of about 2. This doesn't change, at all, my overall impression that XMLVM is quite fast and that the potential is very far reaching. I wrote about the revised benchmarks on my blog at http://sjhannah.com/blog/?p=226 Keep up the great work! -Steve On Thu, Dec 6, 2012 at 10:20 AM, Paul Poley <bay...@gm...> wrote: > Interesting news. Nice write up! > > Paul > > On Mon, Dec 3, 2012 at 12:15 PM, Steve Hannah <st...@we...> wrote: > >> I just wanted to drop a line into this list to thank you guys for your >> work. I have been playing around with CodenameOne recently to try to build >> a port that runs on Avian (an AOT java compiler) because I had a hunch that >> it would be faster than the code produced by XMLVM (which is their default >> solution for iOS). >> >> I was wrong. Running a simple test on the Towers of Hanoi problem on an >> app that was built separately using XMLVM and Avian I found that the XMLVM >> build was actually slightly faster than the Avian AOT compiled binary. >> >> I wrote about my experiment in my blog at http://sjhannah.com/blog/?p=225 >> >> Anyways. Incredible work. The potential of this project is quite >> far-reaching. >> >> -Steve >> >> >> >> >> >> ------------------------------------------------------------------------------ >> Keep yourself connected to Go Parallel: >> BUILD Helping you discover the best ways to construct your parallel >> projects. >> http://goparallel.sourceforge.net >> _______________________________________________ >> xmlvm-users mailing list >> xml...@li... >> https://lists.sourceforge.net/lists/listinfo/xmlvm-users >> >> > -- Steve Hannah Web Lite Solutions Corp. |
From: Panayotis K. <pan...@pa...> - 2012-12-06 23:31:44
|
What if you turn on optimizations for both test cases? If one supports full optimizations (and is much more faster) than the other - although it might sound unfair - the final result is that one is faster and the other is not. At the end of the day, nobody cares about all the transformations the code has to pass - the only important thing is the final execution speed. On Fri, Dec 7, 2012 at 12:59 AM, Steve Hannah <st...@we...> wrote: > Just a small update. As it turns out, my first benchmark was flawed > because it allowed GCC/LLVM to optimize it more than was fair. After > revising the algorithm to force GCC/LLVM to play by the rules I found that > Avian edged out XMLVM by about 15% in speed. They were both slower than > the native C implementation by a factor of about 2. > > This doesn't change, at all, my overall impression that XMLVM is quite > fast and that the potential is very far reaching. > > I wrote about the revised benchmarks on my blog at > http://sjhannah.com/blog/?p=226 > > Keep up the great work! > > -Steve > > On Thu, Dec 6, 2012 at 10:20 AM, Paul Poley <bay...@gm...> wrote: > >> Interesting news. Nice write up! >> >> Paul >> >> On Mon, Dec 3, 2012 at 12:15 PM, Steve Hannah <st...@we...> wrote: >> >>> I just wanted to drop a line into this list to thank you guys for your >>> work. I have been playing around with CodenameOne recently to try to build >>> a port that runs on Avian (an AOT java compiler) because I had a hunch that >>> it would be faster than the code produced by XMLVM (which is their default >>> solution for iOS). >>> >>> I was wrong. Running a simple test on the Towers of Hanoi problem on an >>> app that was built separately using XMLVM and Avian I found that the XMLVM >>> build was actually slightly faster than the Avian AOT compiled binary. >>> >>> I wrote about my experiment in my blog at >>> http://sjhannah.com/blog/?p=225 >>> >>> Anyways. Incredible work. The potential of this project is quite >>> far-reaching. >>> >>> -Steve >>> >>> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Keep yourself connected to Go Parallel: >>> BUILD Helping you discover the best ways to construct your parallel >>> projects. >>> http://goparallel.sourceforge.net >>> _______________________________________________ >>> xmlvm-users mailing list >>> xml...@li... >>> https://lists.sourceforge.net/lists/listinfo/xmlvm-users >>> >>> >> > > > -- > Steve Hannah > Web Lite Solutions Corp. > > > > ------------------------------------------------------------------------------ > LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial > Remotely access PCs and mobile devices and provide instant support > Improve your efficiency, and focus on delivering more value-add services > Discover what IT Professionals Know. Rescue delivers > http://p.sf.net/sfu/logmein_12329d2d > _______________________________________________ > xmlvm-users mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > > -- Panayotis Katsaloulis |
From: Steve H. <st...@we...> - 2012-12-06 23:41:49
|
On Thursday, December 6, 2012, Steve Hannah wrote: > Optimizations were on for both. The problem is that the original test > didn't modify anything outside the function so the optimization could > potentially be reduced down to NOOP with gcc. > > I needed to change the test case so that it modified something outside > itself so the code actually had to be run. > > Avian doesn't have all the optimizations that gcc has so it wasn't able to > "cheat" at all in the first test. It ran the benchmark faithfully. > > That said, the xmlvm version didn't cheat much either, compared to the > native c version. > > Steve > > On Thursday, December 6, 2012, Panayotis Katsaloulis wrote: > >> What if you turn on optimizations for both test cases? >> >> If one supports full optimizations (and is much more faster) than the >> other - although it might sound unfair - the final result is that one is >> faster and the other is not. >> At the end of the day, nobody cares about all the transformations the >> code has to pass - the only important thing is the final execution speed. >> >> >> On Fri, Dec 7, 2012 at 12:59 AM, Steve Hannah <st...@we...> wrote: >> >>> Just a small update. As it turns out, my first benchmark was flawed >>> because it allowed GCC/LLVM to optimize it more than was fair. After >>> revising the algorithm to force GCC/LLVM to play by the rules I found that >>> Avian edged out XMLVM by about 15% in speed. They were both slower than >>> the native C implementation by a factor of about 2. >>> >>> This doesn't change, at all, my overall impression that XMLVM is quite >>> fast and that the potential is very far reaching. >>> >>> I wrote about the revised benchmarks on my blog at >>> http://sjhannah.com/blog/?p=226 >>> >>> Keep up the great work! >>> >>> -Steve >>> >>> On Thu, Dec 6, 2012 at 10:20 AM, Paul Poley <bay...@gm...>wrote: >>> >>>> Interesting news. Nice write up! >>>> >>>> Paul >>>> >>>> On Mon, Dec 3, 2012 at 12:15 PM, Steve Hannah <st...@we...> wrote: >>>> >>>>> I just wanted to drop a line into this list to thank you guys for your >>>>> work. I have been playing around with CodenameOne recently to try to build >>>>> a port that runs on Avian (an AOT java compiler) because I had a hunch that >>>>> it would be faster than the code produced by XMLVM (which is their default >>>>> solution for iOS). >>>>> >>>>> I was wrong. Running a simple test on the Towers of Hanoi problem on >>>>> an app that was built separately using XMLVM and Avian I found that the >>>>> XMLVM build was actually slightly faster than the Avian AOT compiled binary. >>>>> >>>>> I wrote about my experiment in my blog at >>>>> http://sjhannah.com/blog/?p=225 >>>>> >>>>> Anyways. Incredible work. The potential of this project is quite >>>>> far-reaching. >>>>> >>>>> -Steve >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> Keep yourself connected to Go Parallel: >>>>> BUILD Helping you discover the best ways to construct your parallel >>>>> projects. >>>>> http://goparallel.sourceforge.net >>>>> _______________________________________________ >>>>> xmlvm-users mailing list >>>>> xml...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/xmlvm-users >>>>> >>>>> >>>> >>> >>> >>> -- >>> Steve Hannah >>> Web Lite Solutions Corp. >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial >>> Remotely access PCs and mobile devices and provide instant support >>> Improve your efficiency, and focus on delivering more value-add services >>> Discover what IT Professionals Know. Rescue delivers >>> http://p.sf.net/sfu/logmein_12329d2d >>> _______________________________________________ >>> xmlvm-users mailing list >>> xml...@li... >>> https://lists.sourceforge.net/lists/listinfo/xmlvm-users >>> >>> >> >> >> -- >> Panayotis Katsaloulis >> >> > > -- > Steve Hannah > Web Lite Solutions Corp. > > -- Steve Hannah Web Lite Solutions Corp. |
From: Arno P. <ar...@pu...> - 2012-12-06 23:42:39
|
just out of curiosity, could you please change your test and make method "move()" and variable "counter" of your class "TowersOfHanoi" not static? I'd be interested in the numbers when you make that change. Thanks, Arno On 12/6/12 2:59 PM, Steve Hannah wrote: > Just a small update. As it turns out, my first benchmark was flawed > because it allowed GCC/LLVM to optimize it more than was fair. After > revising the algorithm to force GCC/LLVM to play by the rules I found > that Avian edged out XMLVM by about 15% in speed. They were both slower > than the native C implementation by a factor of about 2. > > This doesn't change, at all, my overall impression that XMLVM is quite > fast and that the potential is very far reaching. > > I wrote about the revised benchmarks on my blog at > http://sjhannah.com/blog/?p=226 > > Keep up the great work! > > -Steve > > On Thu, Dec 6, 2012 at 10:20 AM, Paul Poley <bay...@gm... > <mailto:bay...@gm...>> wrote: > > Interesting news. Nice write up! > > Paul > > On Mon, Dec 3, 2012 at 12:15 PM, Steve Hannah <st...@we... > <mailto:st...@we...>> wrote: > > I just wanted to drop a line into this list to thank you guys > for your work. I have been playing around with CodenameOne > recently to try to build a port that runs on Avian (an AOT java > compiler) because I had a hunch that it would be faster than the > code produced by XMLVM (which is their default solution for iOS). > > I was wrong. Running a simple test on the Towers of Hanoi > problem on an app that was built separately using XMLVM and > Avian I found that the XMLVM build was actually slightly faster > than the Avian AOT compiled binary. > > I wrote about my experiment in my blog at > http://sjhannah.com/blog/?p=225 > > Anyways. Incredible work. The potential of this project is > quite far-reaching. > > -Steve > > > > > ------------------------------------------------------------------------------ > Keep yourself connected to Go Parallel: > BUILD Helping you discover the best ways to construct your > parallel projects. > http://goparallel.sourceforge.net > _______________________________________________ > xmlvm-users mailing list > xml...@li... > <mailto:xml...@li...> > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > > > > > > -- > Steve Hannah > Web Lite Solutions Corp. > > > > ------------------------------------------------------------------------------ > LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial > Remotely access PCs and mobile devices and provide instant support > Improve your efficiency, and focus on delivering more value-add services > Discover what IT Professionals Know. Rescue delivers > http://p.sf.net/sfu/logmein_12329d2d > > > > _______________________________________________ > xmlvm-users mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > |
From: Steve H. <st...@we...> - 2012-12-06 23:45:13
|
Will do. I'll post the result when I have it. Steve On Thursday, December 6, 2012, Arno Puder wrote: > > just out of curiosity, could you please change your test and make method > "move()" and variable "counter" of your class "TowersOfHanoi" not > static? I'd be interested in the numbers when you make that change. > > Thanks, > Arno > > > On 12/6/12 2:59 PM, Steve Hannah wrote: > > Just a small update. As it turns out, my first benchmark was flawed > > because it allowed GCC/LLVM to optimize it more than was fair. After > > revising the algorithm to force GCC/LLVM to play by the rules I found > > that Avian edged out XMLVM by about 15% in speed. They were both slower > > than the native C implementation by a factor of about 2. > > > > This doesn't change, at all, my overall impression that XMLVM is quite > > fast and that the potential is very far reaching. > > > > I wrote about the revised benchmarks on my blog at > > http://sjhannah.com/blog/?p=226 > > > > Keep up the great work! > > > > -Steve > > > > On Thu, Dec 6, 2012 at 10:20 AM, Paul Poley <bay...@gm...<javascript:;> > > <mailto:bay...@gm... <javascript:;>>> wrote: > > > > Interesting news. Nice write up! > > > > Paul > > > > On Mon, Dec 3, 2012 at 12:15 PM, Steve Hannah <st...@we...<javascript:;> > > <mailto:st...@we... <javascript:;>>> wrote: > > > > I just wanted to drop a line into this list to thank you guys > > for your work. I have been playing around with CodenameOne > > recently to try to build a port that runs on Avian (an AOT java > > compiler) because I had a hunch that it would be faster than the > > code produced by XMLVM (which is their default solution for iOS). > > > > I was wrong. Running a simple test on the Towers of Hanoi > > problem on an app that was built separately using XMLVM and > > Avian I found that the XMLVM build was actually slightly faster > > than the Avian AOT compiled binary. > > > > I wrote about my experiment in my blog at > > http://sjhannah.com/blog/?p=225 > > > > Anyways. Incredible work. The potential of this project is > > quite far-reaching. > > > > -Steve > > > > > > > > > > > ------------------------------------------------------------------------------ > > Keep yourself connected to Go Parallel: > > BUILD Helping you discover the best ways to construct your > > parallel projects. > > http://goparallel.sourceforge.net > > _______________________________________________ > > xmlvm-users mailing list > > xml...@li... <javascript:;> > > <mailto:xml...@li... <javascript:;>> > > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > > > > > > > > > > > > -- > > Steve Hannah > > Web Lite Solutions Corp. > > > > > > > > > ------------------------------------------------------------------------------ > > LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial > > Remotely access PCs and mobile devices and provide instant support > > Improve your efficiency, and focus on delivering more value-add services > > Discover what IT Professionals Know. Rescue delivers > > http://p.sf.net/sfu/logmein_12329d2d > > > > > > > > _______________________________________________ > > xmlvm-users mailing list > > xml...@li... <javascript:;> > > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > > > > > ------------------------------------------------------------------------------ > LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial > Remotely access PCs and mobile devices and provide instant support > Improve your efficiency, and focus on delivering more value-add services > Discover what IT Professionals Know. Rescue delivers > http://p.sf.net/sfu/logmein_12329d2d > _______________________________________________ > xmlvm-users mailing list > xml...@li... <javascript:;> > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > -- Steve Hannah Web Lite Solutions Corp. |
From: Steve H. <st...@we...> - 2012-12-07 02:17:05
|
Ah... you clearly had some insight into how it works :) Dramatically different results when using object methods instead of static methods. I have updated my blog post to incorporate these changes: http://sjhannah.com/blog/?p=226 The results were (with the same n=30, move from pole 1 to pole 3): XMLVM: 40.2 seconds Avian: 77.4 seconds In this case, XMLVM is getting very close to the performance of the native C function calls. Just for fun I also created an Objective-C version using message passing rather than C functions and, not surprisingly, it was dramatically slower at around 154 seconds. Obviously we can't read too much into these narrow benchmarks, but it is good to know how close to native performance XMLVM can get. -Steve On Thu, Dec 6, 2012 at 3:45 PM, Steve Hannah <st...@we...> wrote: > Will do. I'll post the result when I have it. > > Steve > > > On Thursday, December 6, 2012, Arno Puder wrote: > >> >> just out of curiosity, could you please change your test and make method >> "move()" and variable "counter" of your class "TowersOfHanoi" not >> static? I'd be interested in the numbers when you make that change. >> >> Thanks, >> Arno >> >> >> On 12/6/12 2:59 PM, Steve Hannah wrote: >> > Just a small update. As it turns out, my first benchmark was flawed >> > because it allowed GCC/LLVM to optimize it more than was fair. After >> > revising the algorithm to force GCC/LLVM to play by the rules I found >> > that Avian edged out XMLVM by about 15% in speed. They were both slower >> > than the native C implementation by a factor of about 2. >> > >> > This doesn't change, at all, my overall impression that XMLVM is quite >> > fast and that the potential is very far reaching. >> > >> > I wrote about the revised benchmarks on my blog at >> > http://sjhannah.com/blog/?p=226 >> > >> > Keep up the great work! >> > >> > -Steve >> > >> > On Thu, Dec 6, 2012 at 10:20 AM, Paul Poley <bay...@gm... >> > <mailto:bay...@gm...>> wrote: >> > >> > Interesting news. Nice write up! >> > >> > Paul >> > >> > On Mon, Dec 3, 2012 at 12:15 PM, Steve Hannah <st...@we... >> > <mailto:st...@we...>> wrote: >> > >> > I just wanted to drop a line into this list to thank you guys >> > for your work. I have been playing around with CodenameOne >> > recently to try to build a port that runs on Avian (an AOT java >> > compiler) because I had a hunch that it would be faster than the >> > code produced by XMLVM (which is their default solution for >> iOS). >> > >> > I was wrong. Running a simple test on the Towers of Hanoi >> > problem on an app that was built separately using XMLVM and >> > Avian I found that the XMLVM build was actually slightly faster >> > than the Avian AOT compiled binary. >> > >> > I wrote about my experiment in my blog at >> > http://sjhannah.com/blog/?p=225 >> > >> > Anyways. Incredible work. The potential of this project is >> > quite far-reaching. >> > >> > -Steve >> > >> > >> > >> > >> > >> ------------------------------------------------------------------------------ >> > Keep yourself connected to Go Parallel: >> > BUILD Helping you discover the best ways to construct your >> > parallel projects. >> > http://goparallel.sourceforge.net >> > _______________________________________________ >> > xmlvm-users mailing list >> > xml...@li... >> > <mailto:xml...@li...> >> > https://lists.sourceforge.net/lists/listinfo/xmlvm-users >> > >> > >> > >> > >> > >> > -- >> > Steve Hannah >> > Web Lite Solutions Corp. >> > >> > >> > >> > >> ------------------------------------------------------------------------------ >> > LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial >> > Remotely access PCs and mobile devices and provide instant support >> > Improve your efficiency, and focus on delivering more value-add services >> > Discover what IT Professionals Know. Rescue delivers >> > http://p.sf.net/sfu/logmein_12329d2d >> > >> > >> > >> > _______________________________________________ >> > xmlvm-users mailing list >> > xml...@li... >> > https://lists.sourceforge.net/lists/listinfo/xmlvm-users >> > >> >> >> ------------------------------------------------------------------------------ >> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial >> Remotely access PCs and mobile devices and provide instant support >> Improve your efficiency, and focus on delivering more value-add services >> Discover what IT Professionals Know. Rescue delivers >> http://p.sf.net/sfu/logmein_12329d2d >> _______________________________________________ >> xmlvm-users mailing list >> xml...@li... >> https://lists.sourceforge.net/lists/listinfo/xmlvm-users >> > > > -- > Steve Hannah > Web Lite Solutions Corp. > > -- Steve Hannah Web Lite Solutions Corp. |
From: Arno P. <ar...@pu...> - 2012-12-07 01:53:23
|
well, allow me some remarks. As you already alluded to, performance testing is a tricky business. XMLVM cross-compiles to C code and by its very nature it cannot do hot-patching at runtime. This means that every static access to a class needs to check if that class was already initialized. If your application is mainly using static fields and methods (as did your original test case), XMLVM can't do many optimizations. XMLVM is far from being perfect, but it is doing a decent job. Mileage may vary depending on the details of an app. It is always a good idea to try different tools and pick the one that works best for you. Arno On 12/06/2012 05:47 PM, Steve Hannah wrote: > Ah... you clearly had some insight into how it works :) Dramatically > different results when using object methods instead of static methods. > > I have updated my blog post to incorporate these changes: > > http://sjhannah.com/blog/?p=226 > > The results were (with the same n=30, move from pole 1 to pole 3): > > XMLVM: 40.2 seconds > Avian: 77.4 seconds > > In this case, XMLVM is getting very close to the performance of the > native C function calls. > > Just for fun I also created an Objective-C version using message passing > rather than C functions and, not surprisingly, it was dramatically > slower at around 154 seconds. > > > Obviously we can't read too much into these narrow benchmarks, but it is > good to know how close to native performance XMLVM can get. > > > -Steve > > > > On Thu, Dec 6, 2012 at 3:45 PM, Steve Hannah <st...@we... > <mailto:st...@we...>> wrote: > > Will do. I'll post the result when I have it. > > Steve > > > On Thursday, December 6, 2012, Arno Puder wrote: > > > just out of curiosity, could you please change your test and > make method > "move()" and variable "counter" of your class "TowersOfHanoi" not > static? I'd be interested in the numbers when you make that change. > > Thanks, > Arno > > > On 12/6/12 2:59 PM, Steve Hannah wrote: > > Just a small update. As it turns out, my first benchmark was > flawed > > because it allowed GCC/LLVM to optimize it more than was > fair. After > > revising the algorithm to force GCC/LLVM to play by the rules > I found > > that Avian edged out XMLVM by about 15% in speed. They were > both slower > > than the native C implementation by a factor of about 2. > > > > This doesn't change, at all, my overall impression that XMLVM > is quite > > fast and that the potential is very far reaching. > > > > I wrote about the revised benchmarks on my blog at > > http://sjhannah.com/blog/?p=226 > > > > Keep up the great work! > > > > -Steve > > > > On Thu, Dec 6, 2012 at 10:20 AM, Paul Poley <bay...@gm... > > <mailto:bay...@gm...>> wrote: > > > > Interesting news. Nice write up! > > > > Paul > > > > On Mon, Dec 3, 2012 at 12:15 PM, Steve Hannah > <st...@we... > > <mailto:st...@we...>> wrote: > > > > I just wanted to drop a line into this list to thank > you guys > > for your work. I have been playing around with > CodenameOne > > recently to try to build a port that runs on Avian > (an AOT java > > compiler) because I had a hunch that it would be > faster than the > > code produced by XMLVM (which is their default > solution for iOS). > > > > I was wrong. Running a simple test on the Towers of > Hanoi > > problem on an app that was built separately using > XMLVM and > > Avian I found that the XMLVM build was actually > slightly faster > > than the Avian AOT compiled binary. > > > > I wrote about my experiment in my blog at > > http://sjhannah.com/blog/?p=225 > > > > Anyways. Incredible work. The potential of this > project is > > quite far-reaching. > > > > -Steve > > > > > > > > > > > ------------------------------------------------------------------------------ > > Keep yourself connected to Go Parallel: > > BUILD Helping you discover the best ways to construct > your > > parallel projects. > > http://goparallel.sourceforge.net > > _______________________________________________ > > xmlvm-users mailing list > > xml...@li... > > <mailto:xml...@li...> > > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > > > > > > > > > > > > -- > > Steve Hannah > > Web Lite Solutions Corp. > > > > > > > > > ------------------------------------------------------------------------------ > > LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free > Trial > > Remotely access PCs and mobile devices and provide instant > support > > Improve your efficiency, and focus on delivering more > value-add services > > Discover what IT Professionals Know. Rescue delivers > > http://p.sf.net/sfu/logmein_12329d2d > > > > > > > > _______________________________________________ > > xmlvm-users mailing list > > xml...@li... > > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > > > > ------------------------------------------------------------------------------ > LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial > Remotely access PCs and mobile devices and provide instant support > Improve your efficiency, and focus on delivering more value-add > services > Discover what IT Professionals Know. Rescue delivers > http://p.sf.net/sfu/logmein_12329d2d > _______________________________________________ > xmlvm-users mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > > > > -- > Steve Hannah > Web Lite Solutions Corp. > > > > > -- > Steve Hannah > Web Lite Solutions Corp. > |