periscop / openscop

A Specification and a Library for Data Exchange in Polyhedral Compilation Tools
BSD 3-Clause "New" or "Revised" License
26 stars 14 forks source link

Add osl1 library #32

Open Lnc opened 9 years ago

Lnc commented 9 years ago

osl1 functionalities:

Ced commented 9 years ago

Lnc, you are crazy ! 11000+ lines !!! Please tell me at least that performance is fantastic.

After a few statistics:

-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C                               25           2623           5606           8056
C/C++ Header                    27            581           2095           1180
-------------------------------------------------------------------------------
SUM:                            52           3204           7701           9236
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C/C++ Header                   116           2437           5763           9416
C                                8            210            545            759
-------------------------------------------------------------------------------
SUM:                           124           2647           6308          10175
-------------------------------------------------------------------------------

I also noticed a different licensing... We really need to discuss it before any action. 21/04 afternoon next week (Alex, Thomas, you are welcome) ?

Lnc commented 9 years ago

Performances are similar to copy/clone + equal 100000 scops:

Precision = long int
Time osl1 = 3.717931
Time osl  = 4.183861

Precision = long long int
Time osl1 = 3.754307
Time osl  = 4.240209

Precision = mpz
Time osl1 = 9.619091
Time osl  = 11.962265

About the number of lines, consider ./include/gho/

-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C/C++ Header                    73           1571           4022           5796
-------------------------------------------------------------------------------
SUM:                            73           1571           4022           5796
-------------------------------------------------------------------------------

and ./include/osl1/ ./src/osl1/

-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C/C++ Header                    47            940           1817           3717
C                                8            222            545            777                                                                        
-------------------------------------------------------------------------------                                                                        
SUM:                            55           1162           2362           4494                                                                        
-------------------------------------------------------------------------------

gho offers generic structs and functions to:

To do its job, osl1 needs gho and 4494 lines of code (but osl have more extensions than osl1).