Menu

#13 inline-Flag Enhancement

v1.1.x
closed
None
v1.1.2
Change Request
2019-08-22
2016-05-14
Erik Hänel
No

Der inline-Flag bei Prozeduren

$PROC(ARGS) :: inline

sollte tatsächlich INLINE ausgeführt werden.

Analysis:

The inline flag enhancement makes only sense in the context of loops, where the flag is currently used to speed up the calculation. It shall be tried to insert the contents of the procedure into the relevant location into the loop. It is necessary to unroll the contents of the inlined procedure to match this possibility.

Implementation:

  • Implementation: The implementation was done partly as proposed by the analysis. To enhance the functionality further, the new data type cluster{} was introduced, which may store mixed data types (e.g. to catch return value for procedures) and is also used to store local numerical variables and strings of inlined procedures.
  • Revision: [r521] and [r522]
  • Implementation test: Different inline procedure were inlined successfully. The main features of cluster{} were tested as well.

Documentation:

  • ChangesLog: updated
  • Comments: Changed and added sections of code were commented sufficiently
  • Documentation articles: Documentation articles were updated, added and the index was updated as well
  • Language files: Language files were updated

Tests:

This change was tested in productive environment. No deviation occured.

Related

Commit: [r521]
Commit: [r522]

Discussion

  • Erik Hänel

    Erik Hänel - 2018-11-22
    • Status: postponed --> accepted
    • Version: Planned --> v1.1.2
     
  • Erik Hänel

    Erik Hänel - 2019-02-20
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -3,3 +3,20 @@
     $PROC(ARGS) :: inline
     ~~~
     sollte tatsächlich INLINE ausgeführt werden.
    +
    +###Analysis:
    +(*Describe, what's the issue and which changes have to be made*)
    +
    +###Implementation:
    +* Implementation: (*Describe, what you've changed*) 
    +* Revision: [rXXX]
    +* Implementation test: (*Describe the type of test, which you performed, and if it was successful*)
    +
    +###Documentation:
    +* ChangesLog: (*Have you updated the changes log?*)
    +* Comments: (*Have you written comments in the code, which describe your change?*)
    +* Documentation articles: (*Have you updated the documentation articles?*)
    +* Language files: (*Have you updated the language files?*)
    +
    +###Tests:
    +(*Describe, which tests you performed and their outcome*)
    
    • status: accepted --> analyzing
     
  • Erik Hänel

    Erik Hänel - 2019-03-29
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -5,7 +5,7 @@
     sollte tatsächlich INLINE ausgeführt werden.
    
     ###Analysis:
    -(*Describe, what's the issue and which changes have to be made*)
    +The `inline` flag enhancement makes only sense in the context of loops, where the flag is currently used to speed up the calculation. It shall be tried to insert the contents of the procedure into the relevant location into the loop. It is necessary to unroll the contents of the inlined procedure to match this possibility.
    
     ###Implementation:
    
     * Implementation: (*Describe, what you've changed*) 
    
     
  • Erik Hänel

    Erik Hänel - 2019-04-07
    • status: analyzing --> implementing
     
  • Erik Hänel

    Erik Hänel - 2019-04-20
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -8,15 +8,15 @@
     The `inline` flag enhancement makes only sense in the context of loops, where the flag is currently used to speed up the calculation. It shall be tried to insert the contents of the procedure into the relevant location into the loop. It is necessary to unroll the contents of the inlined procedure to match this possibility.
    
     ###Implementation:
    -* Implementation: (*Describe, what you've changed*) 
    -* Revision: [rXXX]
    -* Implementation test: (*Describe the type of test, which you performed, and if it was successful*)
    +* Implementation: The implementation was done partly as proposed by the analysis. To enhance the functionality further, the new data type `cluster{}` was introduced, which may store mixed data types (e.g. to catch return value for procedures) and is also used to store local numerical variables and strings of inlined procedures.
    +* Revision: [r521] and [r522]
    +* Implementation test: Different inline procedure were inlined successfully. The main features of `cluster{}` were tested as well.
    
     ###Documentation:
    -* ChangesLog: (*Have you updated the changes log?*)
    -* Comments: (*Have you written comments in the code, which describe your change?*)
    -* Documentation articles: (*Have you updated the documentation articles?*)
    -* Language files: (*Have you updated the language files?*)
    +* ChangesLog: updated
    +* Comments: Changed and added sections of code were commented sufficiently
    +* Documentation articles: Documentation articles were updated, added and the index was updated as well
    +* Language files: Language files were updated
    
     ###Tests:
     (*Describe, which tests you performed and their outcome*)
    
    • status: implementing --> testing
     

    Related

    Commit: [r521]
    Commit: [r522]

  • Erik Hänel

    Erik Hänel - 2019-08-22
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -19,4 +19,4 @@
    
     * Language files: Language files were updated
    
     ###Tests:
    -(*Describe, which tests you performed and their outcome*)
    +This change was tested in productive environment. No deviation occured.
    
    • status: testing --> closed
     

Anonymous
Anonymous

Add attachments
Cancel





MongoDB Logo MongoDB