Skip to content

generated parser cache out of repository - #4090

Merged
youknowone merged 7 commits into
RustPython:mainfrom
youknowone:lalrpop
Aug 18, 2022
Merged

youknowone merged 7 commits into
RustPython:mainfrom
youknowone:lalrpop

Conversation

@youknowone

Copy link
Copy Markdown
Member

No description provided.

@youknowone
youknowone force-pushed the lalrpop branch 16 times, most recently from c1523be to 770df07 Compare August 17, 2022 23:06
@fanninpm

Copy link
Copy Markdown
Contributor

It might make more sense to undo #3652.

@youknowone

Copy link
Copy Markdown
Member Author

@coolreader18 didn't want to add lalrpop dependency for main CI path.

I'd like to find a way to meet the requirement.

@youknowone
youknowone requested a review from fanninpm August 18, 2022 10:12
@youknowone

Copy link
Copy Markdown
Member Author

@fanninpm you know both the previous work and this change. you had a coverage concern. I want to know how you think about removing it again.

@coolreader18 I tried best to meet your requirements. please check if I missed something when you come back later.

@fanninpm

Copy link
Copy Markdown
Contributor

you know both the previous work and this change. you had a coverage concern. I want to know how you think about removing it again.

I welcome this sort of change because I think it should ease the burden placed upon new/novice contributors. (See, for example, #3879 (comment).) I'm not too concerned about test coverage for the code that LALRPOP generates, especially because I don't see a clear way to represent test coverage of a LALRPOP source file.

@youknowone
youknowone merged commit 98b5c06 into RustPython:main Aug 18, 2022
@youknowone
youknowone deleted the lalrpop branch August 18, 2022 19:43
@youknowone

Copy link
Copy Markdown
Member Author

Thank you, lets try

@coolreader18

coolreader18 commented Aug 19, 2022 •

Copy link
Copy Markdown
Member

For this, wouldn't someone need to always either have lalrpop installed or pass the feature? Also, the goal was to reduce compile times in general, but maybe the situation overall has gotten better such that reverting to the old version with building lalrpop is fine.

@youknowone

Copy link
Copy Markdown
Member Author

Oh, welcome back. Yes. it will require lalrpop for first build.
The lalrpop build is comparably small part of first build time. (by referring Amdahl's law, i don't think we need any special handling for lalrpop. the clean build requires many minutes while lalrpop takes only small portion of it)
On the other hands, it still reduce compile times in general because it is still using hash checker you made.

About the lalrpop running time, not the build time, it was already reasonable fast on my machines when #3652 made. So it is hard to be able to tell about it. I don't think the running time is enhanced much.

@not-my-profile

Copy link
Copy Markdown
Contributor

This change probably broke the docs.rs build for rustpython-parser, see #4436. But I am afraid I understand too little of the build system to know how we can resolve this.

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.

4 participants