Skip to content
This repository has been archived by the owner on May 5, 2019. It is now read-only.

Ank build very slow under some circumstances #32

Open
dgoetsch opened this issue Jun 27, 2018 · 3 comments
Open

Ank build very slow under some circumstances #32

dgoetsch opened this issue Jun 27, 2018 · 3 comments

Comments

@dgoetsch
Copy link

Hello,
I am running ank against some documentation I wrote. I am seeing runAnk take 20+ minutes and pegging one processor. I killed the process around 28:30.

ank-performance

Through process of elimination, I determined that the specific code block contains a data class which inherits from its members via by.

data class AppTroupe(val sqlTroupe: SqlTroupe, val queuePublishTroupe: QueuePublishTroupe, val serializeTroupe: SerializeTroupe):
        SqlTroupe by sqlTroupe,
        QueuePublishTroupe by queuePublishTroupe,
        SerializeTroupe by serializeTroupe

I am working around this by excluding the code with by from ank. I've pushed the fix to a branch in my respository for the sake of an example.

I don't yet know the full scope of this issue.

@dgoetsch dgoetsch changed the title Ank very slow when by keyword is used with data class Ank build very slow Jun 27, 2018
@dgoetsch dgoetsch changed the title Ank build very slow Ank build very slow under some circumstances Jun 27, 2018
@dgoetsch
Copy link
Author

Correction: I was wrong about the cause. Its not necessarily the by keyword.

@pakoito
Copy link
Member

pakoito commented Jun 27, 2018

Do you have any coroutines code inside the snippet, or anything asynchronous or with many sub-scopes? We've seen that causing issues before because it has to be rewritten and interpreted on the fly.

@pakoito
Copy link
Member

pakoito commented Jun 28, 2018

I have to comment that this isn't necessarily blocked by Ank work, but rather on the underlying interpreter that sadly we don't control. As it improves, so will Ank improve with it :D

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants