Skip to content

Conversation

@retronym
Copy link
Member

No description provided.

@retronym retronym force-pushed the faster/misc branch 2 times, most recently from c8ef754 to 4fb0b75 Compare April 30, 2018 05:05
@retronym retronym changed the title Performance improvements through more compact representations Performance improvements: avoid boxing and needless string to name conversion Apr 30, 2018
@retronym retronym force-pushed the faster/misc branch 3 times, most recently from e598f87 to df7f6a8 Compare May 3, 2018 07:31
@retronym retronym force-pushed the faster/misc branch 2 times, most recently from 3f56e88 to f7516a7 Compare May 4, 2018 06:37
retronym added 3 commits May 4, 2018 16:50
  - Introduce a per-Global store of names
  - Avoid double freshening names
  - Use $async$ in all names to avoid clashes with, e.g. lambda lifted methods.
@retronym
Copy link
Member Author

retronym commented May 4, 2018

Simplifications to dead state elimination and generation of .dot visualiations of the state machine moved to #198

private val nameCache = new util.WeakHashMap[Object, AsyncNames[_]]()
def apply(c0: reflect.macros.Context, base: AsyncBase)(body0: c0.Tree): AsyncMacro { val c: c0.type } = {
import language.reflectiveCalls
val asyncNames0 = nameCache.synchronized[AsyncNames[_]] {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why synchronized + computeIfAbsent?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I got rid of this map altogether #194 as I think this was leaky anyway.

@retronym
Copy link
Member Author

retronym commented Jun 7, 2018

Superceded by #194

@retronym retronym closed this Jun 7, 2018
@viktorklang
Copy link
Contributor

@retronym Err, #198 you mean?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants