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
10_000 lines with 「say ‘a’;」 take 16 seconds to run #5070
Comments
From @AlexDanielCreate a file with 10_000 lines: for x in {1..10000}; do echo 'say �a�;' >> print.p6; done And then time it: time perl6 print.p6 It will take around 16 seconds to run. You can also use 「print」 instead of 「say」, it does not matter. The time grows linearly. I haven't done any serious benchmarks but please Very important note (by Zoffix++): Perhaps sub lookups are that slow? Originally reported by zhmylove++. |
From @ninerI don't think it's related to subs. It's compilation in general that's rather slow, most of all parsing. nine@sphinx:~> for x in {1..10000}; do echo 'say �a�;' >> print.p6; done real 0m7.232s nine@sphinx:~> for x in {1..10000}; do echo "my \$a$x = �a�;" >> str.p6; done real 0m9.543s I'm closing this ticket, as compiling these examples will most probably be sped up by general improvements to the compiler and optimization infrastructure and not something that's specifically targeted at the examples. For a core developer it's kinda hard to forget about parsing being slow anyway :) |
The RT System itself - Status changed from 'new' to 'open' |
@niner - Status changed from 'open' to 'rejected' |
From @AlexDanielFWIW it went from 4.1724 to 3.3393 (2015.12→HEAD(a72214c)) for 5k of says.
|
From zoffix@zoffix.comQuoting Parrot Raiser <1parrota@gmail.com>:
In this case, there are no trips. It's the *parsing* time that's slow. Looking at this now, with an extra year of knowledge, it makes perfect
Indeed, we all pay a ~70s of wait time to parse core code after I'm actually debugging a bug that requires me to learn how the braid |
From @zoffixznetOn Wed, 11 Oct 2017 10:29:41 -0700, zoffix@zoffix.com wrote:
I was wrong. The braid switch makes virtually no difference and slowness is present even with 10000 repeated `1;` |
Migrated from rt.perl.org#127330 (status was 'rejected')
Searchable as RT127330$
The text was updated successfully, but these errors were encountered: