Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

logos_derive melts the CPU for XID, then gets a SIGKILL #79

Closed
Evrey opened this issue Jun 3, 2019 · 2 comments
Closed

logos_derive melts the CPU for XID, then gets a SIGKILL #79

Evrey opened this issue Jun 3, 2019 · 2 comments

Comments

@Evrey
Copy link

Evrey commented Jun 3, 2019

Given this token rule:

    #[regex = r"\p{XID_Start}\p{XID_Continue}*"]
    LiteralIdentifier,

logos will spin up a single CPU core to 100%, then receive a SIGKILL if the core overheats. Otherwise, when my laptop manages to keep the core from overheating, compilation seems to take a billion years. Well, at least 5min. I Ctrl+Cd out of impatience. RAM usage is pretty low, though.

So things that might help:

  • Find opportunities to parallelise the work.
  • Figure out when work takes too long and maybe sleep for a little or be nice.
  • Whatever else helps getting this beast to work.

Until then I'll have to use ASCII identifiers. ),:

Edit: Using v0.9.7 from https://crates.io/

Edit 2: Compilation never seems to finish. With successful cooling, the core still overheats. And logos starts using a lot of RAM, so might also be related to #78 .

@Evrey
Copy link
Author

Evrey commented Sep 23, 2019

#78 and this one can be merged. When trying to compile something with quite the state explosion, the CPUs spin up to 100%, and memory usage grows exponentially. When compiling with -j 1, logos builds slowly enough for me to not overheat the CPU, then continues to consume enough RAM so that everything hangs thanks to excessive thrashing.

@maciejhirsz
Copy link
Owner

Aggregate into #70.

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

No branches or pull requests

2 participants