Temporary comment out some parts of a slow diagnostic test

K2 version runs like for 15s.

It became slow after PCLA (KT-59791) was implemented,
and the reasons for that is the presence of a lot of interconnected TV
which leads to O(NUMBER_OF_CONSTRAINTS*NUMBER_OF_VARIABLES)
asymptotic during constraint incorporation.

The test itself in any way doesn't represent some common BI use case,
so it seems reasonable to mute it temporary.

^KT-65005 Related
This commit is contained in:
Denis.Zharkov
2024-01-23 18:51:29 +01:00
committed by Space Team
parent dc578b1c5f
commit 5db1bb921b
2 changed files with 56 additions and 54 deletions
@@ -2,6 +2,7 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER -DEPRECATION -OPT_IN_IS_NOT_ENABLED -UNUSED_VARIABLE
// WITH_STDLIB
// ISSUE: KT-64802 (K2/PCLA difference)
// ISSUE: KT-65005 (performance problem)
// FILE: Test.java
@@ -35,37 +36,37 @@ fun <E> select4(x: E?, y: In<E>): E = x!!
fun test() {
val ret = build {
emit("1")
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Comparable<*>? & java.io.Serializable?")!>select1(get(), getIn())<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Comparable<*>? & java.io.Serializable?")!>select1(get(), Test.foo(getIn()))<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Comparable<*>? & java.io.Serializable?")!>select1(Test.foo(get()), Test.foo(getIn()))<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Comparable<*>? & java.io.Serializable?")!>select1(Test.foo(get()), getIn())<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Comparable<*> & java.io.Serializable..kotlin.Comparable<*>? & java.io.Serializable?")!>select4(get(), getIn())<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Comparable<*> & java.io.Serializable..kotlin.Comparable<*>? & java.io.Serializable?")!>select4(get(), Test.foo(getIn()))<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Comparable<*> & java.io.Serializable..kotlin.Comparable<*>? & java.io.Serializable?")!>select4(Test.foo(get()), Test.foo(getIn()))<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Comparable<*> & java.io.Serializable..kotlin.Comparable<*>? & java.io.Serializable?")!>select4(Test.foo(get()), getIn())<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Comparable<*> & java.io.Serializable..kotlin.Comparable<*>? & java.io.Serializable?")!>select4(id(Test.foo(get())), getIn())<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>select1(get(), getIn())<!>
// select1(get(), Test.foo(getIn()))
// select1(Test.foo(get()), Test.foo(getIn()))
// select1(Test.foo(get()), getIn())
// select4(get(), getIn())
// select4(get(), Test.foo(getIn()))
// select4(Test.foo(get()), Test.foo(getIn()))
// select4(Test.foo(get()), getIn())
//
// select4(id(Test.foo(get())), getIn())
build2 {
emit(1)
select1(this@build.get(), getIn())
select1(get(), Test.foo(this@build.getIn()))
select1(Test.foo(this@build.get()), Test.foo(getIn()))
select1(Test.foo(get()), this@build.getIn())
select2(this@build.get(), getIn())
select2(get(), Test.foo(this@build.getIn()))
select2(Test.foo(this@build.get()), Test.foo(getIn()))
select2(Test.foo(get()), this@build.getIn())
select3(this@build.get(), getIn())
select3(get(), Test.foo(this@build.getIn()))
select3(Test.foo(this@build.get()), Test.foo(getIn()))
select3(Test.foo(get()), this@build.getIn())
select4(this@build.get(), getIn())
select4(get(), Test.foo(this@build.getIn()))
select4(Test.foo(this@build.get()), Test.foo(getIn()))
select4(Test.foo(get()), this@build.getIn())
select4(id(Test.foo(this@build.get())), getIn())
// select1(get(), Test.foo(this@build.getIn()))
// select1(Test.foo(this@build.get()), Test.foo(getIn()))
// select1(Test.foo(get()), this@build.getIn())
// select2(this@build.get(), getIn())
// select2(get(), Test.foo(this@build.getIn()))
// select2(Test.foo(this@build.get()), Test.foo(getIn()))
// select2(Test.foo(get()), this@build.getIn())
// select3(this@build.get(), getIn())
// select3(get(), Test.foo(this@build.getIn()))
// select3(Test.foo(this@build.get()), Test.foo(getIn()))
// select3(Test.foo(get()), this@build.getIn())
// select4(this@build.get(), getIn())
// select4(get(), Test.foo(this@build.getIn()))
// select4(Test.foo(this@build.get()), Test.foo(getIn()))
// select4(Test.foo(get()), this@build.getIn())
//
// select4(id(Test.foo(this@build.get())), getIn())
""
}
""
@@ -2,6 +2,7 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER -DEPRECATION -OPT_IN_IS_NOT_ENABLED -UNUSED_VARIABLE
// WITH_STDLIB
// ISSUE: KT-64802 (K2/PCLA difference)
// ISSUE: KT-65005 (performance problem)
// FILE: Test.java
@@ -36,36 +37,36 @@ fun test() {
val ret = build {
emit("1")
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>select1(get(), getIn())<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>select1(get(), Test.foo(getIn()))<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>select1(Test.foo(get()), Test.foo(getIn()))<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>select1(Test.foo(get()), getIn())<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>select4(get(), getIn())<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>select4(get(), Test.foo(getIn()))<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>select4(Test.foo(get()), Test.foo(getIn()))<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>select4(Test.foo(get()), getIn())<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>select4(id(Test.foo(get())), getIn())<!>
// select1(get(), Test.foo(getIn()))
// select1(Test.foo(get()), Test.foo(getIn()))
// select1(Test.foo(get()), getIn())
// select4(get(), getIn())
// select4(get(), Test.foo(getIn()))
// select4(Test.foo(get()), Test.foo(getIn()))
// select4(Test.foo(get()), getIn())
//
// select4(id(Test.foo(get())), getIn())
build2 {
emit(1)
select1(this@build.get(), <!TYPE_MISMATCH("In<String>; In<Int!>")!>getIn()<!>)
select1(get(), <!TYPE_MISMATCH("In<Int!>; In<String>!")!>Test.foo(this@build.getIn())<!>)
select1(Test.foo(this@build.get()), <!TYPE_MISMATCH("In<String!>; In<Int!>!")!>Test.foo(getIn())<!>)
select1(Test.foo(get()), <!TYPE_MISMATCH("In<Int!>; In<String>")!>this@build.getIn()<!>)
select2(this@build.get(), <!TYPE_MISMATCH("In<String?>; In<Int!>")!>getIn()<!>)
select2(get(), <!TYPE_MISMATCH("In<Int?>; In<String>!")!>Test.foo(this@build.getIn())<!>)
select2(Test.foo(this@build.get()), <!TYPE_MISMATCH("In<String?>; In<Int!>!")!>Test.foo(getIn())<!>)
select2(Test.foo(get()), <!TYPE_MISMATCH("In<Int?>; In<String>")!>this@build.getIn()<!>)
select3(this@build.get(), <!TYPE_MISMATCH("In<String?>; In<Int!>")!>getIn()<!>)
select3(get(), <!TYPE_MISMATCH("In<Int?>; In<String>!")!>Test.foo(this@build.getIn())<!>)
select3(Test.foo(this@build.get()), <!TYPE_MISMATCH("In<String?>; In<Int!>!")!>Test.foo(getIn())<!>)
select3(Test.foo(get()), <!TYPE_MISMATCH("In<Int?>; In<String>")!>this@build.getIn()<!>)
select4(this@build.get(), <!TYPE_MISMATCH("In<String>; In<Int!>")!>getIn()<!>)
select4(get(), <!TYPE_MISMATCH("In<Int>; In<String>!")!>Test.foo(this@build.getIn())<!>)
select4(Test.foo(this@build.get()), <!TYPE_MISMATCH("In<String>; In<Int!>!")!>Test.foo(getIn())<!>)
select4(Test.foo(get()), <!TYPE_MISMATCH("In<Int!>; In<String>")!>this@build.getIn()<!>)
select4(id(Test.foo(this@build.get())), <!TYPE_MISMATCH("In<String>; In<Int!>")!>getIn()<!>)
select1(this@build.get(), <!TYPE_MISMATCH("In<String>; In<Int>")!>getIn()<!>)
// select1(get(), Test.foo(this@build.getIn()))
// select1(Test.foo(this@build.get()), Test.foo(getIn()))
// select1(Test.foo(get()), this@build.getIn())
// select2(this@build.get(), getIn())
// select2(get(), Test.foo(this@build.getIn()))
// select2(Test.foo(this@build.get()), Test.foo(getIn()))
// select2(Test.foo(get()), this@build.getIn())
// select3(this@build.get(), getIn())
// select3(get(), Test.foo(this@build.getIn()))
// select3(Test.foo(this@build.get()), Test.foo(getIn()))
// select3(Test.foo(get()), this@build.getIn())
// select4(this@build.get(), getIn())
// select4(get(), Test.foo(this@build.getIn()))
// select4(Test.foo(this@build.get()), Test.foo(getIn()))
// select4(Test.foo(get()), this@build.getIn())
//
// select4(id(Test.foo(this@build.get())), getIn())
""
}
""