2.1.34 #13976
Replies: 20 comments 28 replies
-
|
i'm seeing a 25% decrase time from 33s . Great work |
Beta Was this translation helpful? Give feedback.
-
|
19m58s -> 15m34s (22% improvment) Thanks! |
Beta Was this translation helpful? Give feedback.
-
|
Before: After: The difference is 54 seconds. Thank you so much! |
Beta Was this translation helpful? Give feedback.
-
|
261.09s → 187.54s (-73.55s) |
Beta Was this translation helpful? Give feedback.
-
|
537s -> 472s (13%), not bad! @ondrejmirtes But if there are so many bigger changes, why not adjust the version number appropriately? When I just see a patch version number change, such a massive changelog is very surprising - and just makes planning updates with phpstan more difficult. |
Beta Was this translation helpful? Give feedback.
-
|
Before v2.1.31
After v2.1.34
so unfortunately not really an improvement for us at https://github.com/shopware/shopware 🫣 |
Beta Was this translation helpful? Give feedback.
-
|
I kinda wish that "Major new features" would not be added to a patch-level release, that's a bit of a violation of semantic versioning. I'm getting segmentation faults with this version and some of my custom rules no longer work. I'll try to investigate what's happening. |
Beta Was this translation helpful? Give feedback.
-
|
Before v2.1.33 After v2.1.34 |
Beta Was this translation helpful? Give feedback.
-
|
Our time went from 44s down to 39s (12% difference). |
Beta Was this translation helpful? Give feedback.
-
|
We see ~13% time improvement, at a cost of ~17% more memory usage.
|
Beta Was this translation helpful? Give feedback.
-
|
For our project, we see the following results:
Logs:
|
Beta Was this translation helpful? Give feedback.
-
|
-33% on our project too! (measured on Github CI)
|
Beta Was this translation helpful? Give feedback.
-
|
2.1.33 2.1.34 Walltime: (Project also uses shipmonk/dead-code-detector extension) |
Beta Was this translation helpful? Give feedback.
-
|
In the FreshRSS project, before/after (on a slow computer), ~22% improvement 🏎 $ rm -fr /tmp/phpstan/
$ time composer run-script phpstan
> phpstan analyse --memory-limit 512M .
Note: Using configuration file /home/alex/GitHub/FreshRSS/phpstan.dist.neon.
real 1m2.924s
user 4m54.812s
sys 0m16.494s
$ rm -fr /tmp/phpstan/
$ time composer run-script phpstan
> phpstan analyse --memory-limit 512M .
Note: Using configuration file /home/alex/GitHub/FreshRSS/phpstan.dist.neon.
real 0m49.215s
user 3m40.906s
sys 0m18.413s |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
|
A lot improvements since 2.1.34, a big thanks!! before: after: ~ 31% faster! |
Beta Was this translation helpful? Give feedback.
-
|
I got ~24% improvement (2.1.33 vs 2.1.36) with 30 workers. Thank you! 2.1.33 2.1.36 I also compared baselines (~14k errors) and there's not much difference (good). |
Beta Was this translation helpful? Give feedback.
-
|
Impressive ~30% performance improvement, reducing time from |
Beta Was this translation helpful? Give feedback.
-
|
Thanks, this is awesome!
With 2.1.33 output2.1.37 output |
Beta Was this translation helpful? Give feedback.
-
|
Here's our results for approx. 4,410 files (forceably clearing all caches with TLDR
v2.1.33$ time sail bin phpstan -v
Note: Using configuration file /var/www/html/phpstan.neon.
4409/4409 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100% 1 min
// ...
Elapsed time: 1 minute 24 seconds
Used memory: 6.14 GB
________________________________________________________
Executed in 85.12 secs fish external
usr time 228.59 millis 0.00 micros 228.59 millis
sys time 151.13 millis 770.00 micros 150.36 millisv2.1.37$ time sail bin phpstan -v
Note: Using configuration file /var/www/html/phpstan.neon.
4420/4420 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100% 50 secs
// ...
Elapsed time: 52.48 seconds
Used memory: 6.99 GB
________________________________________________________
Executed in 53.14 secs fish external
usr time 254.43 millis 891.00 micros 253.54 millis
sys time 127.74 millis 278.00 micros 127.47 millisKeep up the good work! |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Major new features 🚀
doFoo($a = 1, $a)will see better type inference for 2nd call argument.$scope->getType($node->args[1]), without Fibers it getsmixed, because$scopesees the state before the method call.$node->args[1]is available in the analyser.$scope->getType($node->args[1])sees1as the type, notmixed.Improvements 🔧
array_count_valuesreturned value is not taking care of the key-type #13816, thanks @mad-briller!Bugfixes 🐛
UnionType::getObjectClassReflections(#4541), When one class mentioned by@phpstan-sealedis unknown all classes are incorrectly reputed unknown #13777, thanks @VincentLanglet!count(non-empty-array, COUNT_RECURSIVE)isint<1, max>(#4515), thanks @staabm!range()function to always yield anon-empty-list(#4688), thanks @FeBe95!@phpstan-sealedleads to wrong errors being reported when used on a non-abstract class #13734, thanks @stof!accepts()methods (#4766), non-empty-array&hasOffset has unexpected type compatiiblity #13964, thanks @staabm!Performance 🏎️
@template TKey as array-key#4670) (#4670), thanks @staabm!TypeCombinator::union()calls that are not necessary (phpstan/phpstan-src@12f2b23)TypeCombinator::intersect()calls that are not necessary (phpstan/phpstan-src@f1f97c3)NodeScopeResolver::processAssignVar()(#4716), thanks @staabm!StaticType::transformStaticTypeless often (phpstan/phpstan-src@d27df94)CallableType::equals()(phpstan/phpstan-src@1f1d382)Function signature fixes 🤖
Internals 🔍
self::class#4713) (#4713), thanks @staabm!This discussion was created from the release 2.1.34.
Beta Was this translation helpful? Give feedback.
All reactions