eclipse-archived/ceylon

Compiler performance with long tuples and mixed element types

Opened this issue · 0 comments

The compiler seems to hang with tuples of 26 elements where the last element type differs from the previous elements type.

class HangCompiler() {
	
	shared [Integer+] fn() => [0];

	shared void testIntegerSequenceWithFloat() {
		value seq = fn();
		assert (seq != [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0.0]);
	}
}

Using a tuple with less integer elements preceding the last float element allows the compiler to produce the module but it may take several minutes for this simple example.

Note that using a second sequence produced by a function is important in order to reproduce this performance problem.

This problem occurs with the version 1.3.3 0d594b3 (Contents May Differ).