Recent

Author Topic: FreeSparta is OpenSource  (Read 83035 times)

hnb

  • Sr. Member
  • ****
  • Posts: 270
Checkout NewPascal initiative and donate beer - ready to use tuned FPC compiler + Lazarus for mORMot project

best regards,
Maciej Izak

hnb

  • Sr. Member
  • ****
  • Posts: 270
Re: FreeSparta is OpenSource
« Reply #61 on: September 07, 2015, 09:50:08 pm »
New version of "free-sparta" branch is avaible for tests. Many bug fixes, and sync with latest Lazarus trunk.

http://svn.freepascal.org/svn/lazarus/branches/free-sparta

http://svn.freepascal.org/cgi-bin/viewvc.cgi/branches/free-sparta/?root=lazarus

 any feedback is welcome :D
« Last Edit: September 07, 2015, 09:53:27 pm by hnb »
Checkout NewPascal initiative and donate beer - ready to use tuned FPC compiler + Lazarus for mORMot project

best regards,
Maciej Izak

sam707

  • Guest
Re: FreeSparta is OpenSource
« Reply #62 on: September 08, 2015, 02:07:05 am »
...hmmm!? Don't worry, the forum had worse:
http://forum.lazarus.freepascal.org/index.php?topic=22565.0  For those that don't know the context: sam707 is BertVerhees.

Na!! I'm King Charles 217! come on! bite me! You do really think I have time to spend on multiple personnalities issues? OMG your IQ is impressive then... I would say, 60 IQ all hands up! .. and maybe adding the IQ of some of your friends too!

sam707

  • Guest
Re: FreeSparta is OpenSource
« Reply #63 on: September 08, 2015, 02:29:11 am »
Returning from hollidays, I read this whole drama with a smile... I notice that a lot of presure against each other, however, makes Lazarus consistent and going on! thats cool! yep!

I am also running my own projects (actually an encrypted client/server suite with my own protocol over Tcp/ip) on my spare time and managing my team at real life around C++

If/when I would have time I may try to modify FPC in such a way - by adding a $MODE - to enable multithreading/parallel compilation. For that purpose, compiler needs to separate implementations and interfaces of monolithic units either by splitted files either programmatically, like modula 2 compilers did and like C/C++ compilers do (split DEFS from CODE, avoid LIFO around 'uses' clauses processing, so the actually compiling unit gets the defs of others even if they stil not are compiled -"headers" alike)

with nowadays multicore processors, it is no more a gadget! FPC is a FAST compiler that is very competitive compared to C/C++ already parallel compilers and I think that if it can be parallelized, FPC would beat them at speed easily...

If someone is interested in such improvement, as I have no time atm, feel free to catch my idea... otherwise I will try to make it ASAP

Regards!
« Last Edit: September 08, 2015, 02:48:27 am by sam707 »

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 12536
  • FPC developer.
Re: FreeSparta is OpenSource
« Reply #64 on: September 08, 2015, 09:15:59 am »
Code: [Select]
[quote author=sam707 link=topic=27813.msg187179#msg187179 date=1441672151]
Returning from hollidays, I read this whole drama with a smile... I notice that a lot of presure against each other, however, makes Lazarus consistent and going on! thats cool! yep!

I am also running my own projects (actually an encrypted client/server suite with my own protocol over Tcp/ip) on my spare time and managing my team at real life around C++

If/when I would have time I may try to modify FPC in such a way - by adding a $MODE - to enable multithreading/parallel compilation. For that purpose, compiler needs to separate implementations and interfaces of monolithic units either by splitted files either programmatically, like modula 2 compilers did and like C/C++ compilers do (split DEFS from CODE, avoid LIFO around 'uses' clauses processing, so the actually compiling unit gets the defs of others even if they stil not are compiled -"headers" alike)

I've thought about both parallel compilation and Modula2 in the past too, and don't see why that would be needed?  Simply cache the already parsed interface (the .ppu) of the first compile, or read the ppu if it isn't.

C/C++ compilers have no internal make/build functionality, and are as stupid as they come.

Quote
with nowadays multicore processors, it is no more a gadget! FPC is a FAST compiler that is very competitive compared to C/C++ already parallel compilers and I think that if it can be parallelized, FPC would beat them at speed easily...

One could argue that C/C++ has no parallel compilers, but simply has such a weak coherence that starting multiple compilers isn't noticed :-)

But that's a brute force, zeroeth order approach, and partially it only earns back some of the endless reparsing of headers that C/C++ does.

It will be hard to implement such thing in FPC. A more logical approach would be to make the actual compiler multithreaded and recycle its cache of interfaces.

Quote
If someone is interested in such improvement, as I have no time atm, feel free to catch my idea... otherwise I will try to make it ASAP

The amount of work to do so is mindboggling, that's what prevented me. I talked to Florian about it, but he wasn't very responsive either.

Still, if buildcontrol is ever rewritten, it would be a good thing to at least keep such scenario in mind.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 12536
  • FPC developer.
Re: FreeSparta is OpenSource
« Reply #65 on: September 08, 2015, 09:33:01 am »
New version of "free-sparta" branch is avaible for tests. Many bug fixes, and sync with latest Lazarus trunk.

http://svn.freepascal.org/svn/lazarus/branches/free-sparta

I compiled it using bigide, and I don't see much difference. I expected at least some docked behaviour, should I do something special to enable FS enhancements? Should I simply install anchor docking?

hnb

  • Sr. Member
  • ****
  • Posts: 270
Re: FreeSparta is OpenSource
« Reply #66 on: September 08, 2015, 10:08:35 am »
I compiled it using bigide, and I don't see much difference. I expected at least some docked behaviour, should I do something special to enable FS enhancements? Should I simply install anchor docking?

Just install components/1_spartaBasic/dtx_spartabasic.lpk.

Docked form designer is independent from AnchorDocking. If all will be fine with "Sparta Basic" package I will prepare next sparta packages - Starter and Professional with more effective enhancements.
Checkout NewPascal initiative and donate beer - ready to use tuned FPC compiler + Lazarus for mORMot project

best regards,
Maciej Izak

sam707

  • Guest
Re: FreeSparta is OpenSource
« Reply #67 on: September 08, 2015, 10:46:19 am »
@Marcov

I found that following book very interesting, simple and clear, especially appendix C.

http://www.ethoberon.ethz.ch/WirthPubl/CBEAll.pdf

Aooendix C. of the book is source code of a compiler cousin of pascal. Professor Wirth masterize the subject I think.. short, fast, efficient, clear. very inspiring to me
« Last Edit: September 08, 2015, 10:47:56 am by sam707 »

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 12536
  • FPC developer.
Re: FreeSparta is OpenSource
« Reply #68 on: September 08, 2015, 11:27:19 am »
Yeah, like the Jack Crenshaw tutorial on my own site

But the way from a concept to a production compiler is longer than from nothing to concept.

Leledumbo

  • Hero Member
  • *****
  • Posts: 8831
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: FreeSparta is OpenSource
« Reply #69 on: September 08, 2015, 11:47:09 am »

Signal

  • New Member
  • *
  • Posts: 41
Re: FreeSparta is OpenSource
« Reply #70 on: September 08, 2015, 12:47:48 pm »
http://www.ethoberon.ethz.ch/WirthPubl/CBEAll.pdf
The latest version of that document resides in Prof. Wirth's personal page, along with his recent works.

Several of the PDFs on his page are corrupt. However, a web search finds uncorrupted versions on other pages.

sam707

  • Guest
Re: FreeSparta is OpenSource
« Reply #71 on: September 08, 2015, 01:04:51 pm »
TY lele :)

yep jack Crenshaw is excellent too

so , the ideal compiler maintainers/builders sheme would be something like that...

********
* parser *
********
      |                                                                 /--- processor A  \
                                                                       /                             \
**************        ****************  |                               |
* code generator* --- * general optimizer *   ---- processor B     | --- specific optimizers
**************        ****************  |                               |
                                                                       \                              /
                                                                         \ --- processor N /

with 2 or 3 engineers per box to be sure to go ahead in the same direction and avoid what lies on many threads here => drama
 :D

that brings my count around 8/10 persons AT MAX for the main team, all the rest is litterature and waste of energy and time ;)

DonAlfredo

  • Hero Member
  • *****
  • Posts: 1844
Re: FreeSparta is OpenSource
« Reply #72 on: September 08, 2015, 02:00:00 pm »
I have added FreeSparta to fpcup.

Getting FreeSparta with fpcup should now be as easy as (on Windows):
Code: [Select]
fpcup.exe --installdir="c:\freesparta" --lazURL="sparta" --include=freesparta

hnb

  • Sr. Member
  • ****
  • Posts: 270
Re: FreeSparta is OpenSource
« Reply #73 on: September 10, 2015, 08:31:05 am »
I have added FreeSparta to fpcup.

Getting FreeSparta with fpcup should now be as easy as (on Windows):
Code: [Select]
fpcup.exe --installdir="c:\freesparta" --lazURL="sparta" --include=freesparta

Only one non offtopic post  %) Thanks for that patch for fpcup!
Checkout NewPascal initiative and donate beer - ready to use tuned FPC compiler + Lazarus for mORMot project

best regards,
Maciej Izak

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 12536
  • FPC developer.
Re: FreeSparta is OpenSource
« Reply #74 on: September 10, 2015, 11:00:14 am »
I have added FreeSparta to fpcup.

Getting FreeSparta with fpcup should now be as easy as (on Windows):
Code: [Select]
fpcup.exe --installdir="c:\freesparta" --lazURL="sparta" --include=freesparta

Only one non offtopic post  %) Thanks for that patch for fpcup!

No, there is another: http://forum.lazarus.freepascal.org/index.php/topic,27813.msg187187.html#msg187187

 

TinyPortal © 2005-2018