fbpx

Success story

  • Robert van der Hulst
  • Robert van der Hulst's Avatar Topic Author
  • Offline
More
2 years 1 month ago - 2 years 1 month ago #1 by Robert van der Hulst
Success story was created by Robert van der Hulst
We made some changes to the compiler this week and with these changes I was able to compile a reasonably sized customer app with X#. This app was developed with VO, migrated to Vulcan and now compiles unchanged with X#.

To give you an idea:

The app has 1000 source files, 100 header files, 500 native resource files, a total of 34 Mb source (including rc, and headers).
VOPP statistics for the original VO app says that there are 43.000 entities with 895.000 lines of source, of which there are 600.000 lines of real code.

The app uses a lot of stuff that everybody uses
- it is based on VO GUI, RDD etc.
- the app uses bBrowser and ReportPro 2.
- there is lots of latebound code
- there is lots of generated code from the server editor and windows editor
- lots of codeblocks
- init procedures
- many conversions between numeric types
- default parameters in the middle of the parameter list with VO style defaults, such as literal symbols, literal dates etc.

The debug version of X# takes about 1 min 30 seconds to compile the solution.
The release version of X# takes about 37 seconds to compile the solution
Vulcan takes about 3 minutes
The native resource compilation takes 12 seconds of the X# compilation time, so if you subtract that then the pure compilation time is 25 seconds for X# compared to 2 mins 48 for Vulcan.
Imagine compiling the whole app 10 times a day and you already have won 23 minutes!

Needless to say that we are very pleased with this !

Robert

XSharp Development Team
The Netherlands
This email address is being protected from spambots. You need JavaScript enabled to view it.
Last edit: 2 years 1 month ago by Robert van der Hulst.

Please Log in or Create an account to join the conversation.

More
2 years 1 month ago #2 by Wolfgang Riedmann
Replied by Wolfgang Riedmann on topic Success story
Hi Robert,

you can be very pleased with this result. Apart from the very fast X#-Compiler: this is a very large VO program, and I will be very happy to try my own VO programs with X# (they at this moment don't run with Vulcan.NET).

Wolfgang

Please Log in or Create an account to join the conversation.

More
2 years 1 month ago #3 by George Theopoulos
Replied by George Theopoulos on topic Success story
Good news for my last VO app (16 years old) who was not imported nor rewritten in .NET.

George

Please Log in or Create an account to join the conversation.

More
2 years 1 month ago #4 by Rene J. Pajaron
Replied by Rene J. Pajaron on topic Success story
Hi Robert,

This is great news.

Profile of my VO apps is bBrowser + CM/RP3 +RightSLE +Fabtoys, and some odd classes taken from newsgroups and some Willie's stuff.

the next good news is when u said: VO RDD and VO Runtime fully compiled with X#. I assume, you are nearing the finish line on this part.

Regards,

Rene

--

Rene Pajaron

Please Log in or Create an account to join the conversation.

More
2 years 1 month ago #5 by Otto Christiaanse
Replied by Otto Christiaanse on topic Success story
Hi Robert,

That is really great news!

Best regards,
Otto

Please Log in or Create an account to join the conversation.

More
2 years 1 month ago #6 by Chris Pyrgas
Replied by Chris Pyrgas on topic Success story
Hi Rene,

>>
the next good news is when u said: VO RDD and VO Runtime fully compiled with X#. I assume, you are nearing the finish line on this part.
>>

The runtime consists of several items:

- VO SDK, we are very close to being able to compile it "as is" in x#, now very few items are still remaining to do that, so it should be a matter of a few weeks at most.

- Macro compiler, this is more or less done, too, since the macro compiler will simply be a cut-down version of the x# compiler. And because the x# compiler is so much faster than the vulcan compiler, the same goes for the macro-compiler, it will be a lot faster, too.

- Runtime Funcs and RDDs, those are the items that still require enough work to be finished, can't give a specific timeframe, but they should be ready as well in a few months from now.

Chris

XSharp Development Team
chris(at)xsharp.eu

Please Log in or Create an account to join the conversation.

More
2 years 1 month ago #7 by Wolfgang Riedmann
Replied by Wolfgang Riedmann on topic Success story
Hi Chris,

And because the x# compiler is so much faster than the vulcan compiler, the same goes for the macro-compiler, it will be a lot faster, too.


This should speedup a lot of VO code, specially DBF access and array operations like ASort() and AScan() - unfortunately this was no priority during Vulcan development (I remember some discussions about this, and the development head of this time stated that this was legacy code and speed of the macrocompiler had no importance).

Compatibility to VO code is very important to us longtime VO programmers as most of us cannot afford to rewrite their VO applications.

Wolfgang

Please Log in or Create an account to join the conversation.

  • Robert van der Hulst
  • Robert van der Hulst's Avatar Topic Author
  • Offline
More
2 years 1 month ago #8 by Robert van der Hulst
Replied by Robert van der Hulst on topic Success story
Wolfgang,
I do not want to be pessimistic, but you should realize that this will only make a change when creating runtime codeblocks, such as the index expressions for index files.

Most AScan and ASort() that I have seen in the field use compile time code blocks.

If you see speed diferences there between Vulcan and VO then this is because of the implementation of the ARRAY class in the Vulcan Runtime.

Now of course we plan to optimize this class as well, so that should be faster as well.

Robert

XSharp Development Team
The Netherlands
This email address is being protected from spambots. You need JavaScript enabled to view it.

Please Log in or Create an account to join the conversation.

More
2 years 1 month ago #9 by Rene J. Pajaron
Replied by Rene J. Pajaron on topic Success story
Thanks Chris for the feedback.

Can't wait.

Keep us inform all the time...

thanks,

Rene

--

Rene Pajaron

Please Log in or Create an account to join the conversation.