Bug #72

speeding up the dump of large data structures

Added by J. Templ over 3 years ago. Updated over 3 years ago.

Status:ClosedStart date:09/29/2015
Priority:NormalDue date:
Assignee:J. Templ% Done:

100%

Category:-
Target version:1.7
Forum topic:

Description

DevDebug and StdDebug use the expensive Flip operation for folds inserted for records and arrays. In case of dumping large data structures this slows down the generation of the dump so much that users may think that the system has crashed.

Reported by Ilya Ermakov, 2012-10-28.
http://forum.oberoncore.ru/viewtopic.php?f=131&t=4136&p=75740#p75740

Refers to CPC 1.7 rc5 change list number 45.

The code for bug demonstration:

MODULE TestDo;
   IMPORT  Log, Math;
   PROCEDURE Test*;
   VAR dat: ARRAY 4096 OF ARRAY 2 OF ARRAY 2 OF INTEGER;
   BEGIN
   HALT(0)
   END Test;
END TestDo.Test

Associated revisions

Revision 19f8cf55
Added by J. Templ over 3 years ago

speeding up the dump of large data structures by avoiding fold.Flip. Refs: #72.
Based on the proposal by Ilya Ermakov in CPC 1.7 rc5 but
without an explicit global stack.
The required context information is maintained inside the recursive dump procedures.

Signed-off-by: Josef Templ <>

History

#1 Updated by I. Denisov over 3 years ago

  • Description updated (diff)
  • Status changed from New to Closed
  • % Done changed from 0 to 100

Also available in: Atom PDF