@markusstaab@phpc.social avatar

markusstaab

@markusstaab@phpc.social

software development with passion - open-source lover, creator of staabm/phpstan-dba, freetime https://phpc.social/@phpstan and @rectorphp contributor

This profile is from a federated server and may be incomplete. Browse more on the original instance.

markusstaab, to random German
@markusstaab@phpc.social avatar

My recent diff speed performance work lead to 2 improvements in sebastianbergmann/diff.

These makes a faster @rectorphp, , @psalmphp, @codeception etc.

Blogged about it: https://staabm.github.io/2023/05/01/diff-speeding.html

markusstaab, to random German
@markusstaab@phpc.social avatar

Do you need help with in some form?

I have plenty of experience in contributing changes to PHPStan core, or implementing custom extensions.

https://staabm.github.io/2024/01/01/phpstan-customizing.html

plz RT

markusstaab, to random German
@markusstaab@phpc.social avatar

Published a new which makes it possible to declare expiration dates for your code comments.

as soon as the comment expires a PHPStan error will show up

https://github.com/staabm/phpstan-todo-by

markusstaab, (edited ) to Laravel German
@markusstaab@phpc.social avatar

Today I collaborated with ondrey on a fix for which improves a previous performance fix, which caused perf regressions in a edge-case.

The new fix allows a 2-3 seconds instead of 2-3 minutes analysis in all mentioned cases.

Reported issue was https://github.com/phpstan/phpstan/issues/10979

markusstaab, to random German
@markusstaab@phpc.social avatar

TIL: when using shivammathur/setup-php@v2 you need to define ini-file: "development" to get php to emit deprecation warnings.

otherwise your unit tests won't catch deprecation warnings and the CI will unexpectedly succeed.

see https://github.com/shivammathur/setup-php/issues/827

markusstaab, to random German
@markusstaab@phpc.social avatar

check your sql queries like a boss. resultset type inference included.

next level static analysis - using the extension for

Supports doctrineproject
DBAL, PDO, mysqli with MySQL/MariaDB and PostgreSQL.

https://github.com/staabm/phpstan-dba

markusstaab, to random German
@markusstaab@phpc.social avatar

Enjoy a ~ 17% memory improvement when running @phpunit with array/objects via data-provider in the upcoming release

https://github.com/sebastianbergmann/exporter/pull/52

markusstaab, (edited ) to random German
@markusstaab@phpc.social avatar

My extension recently crossed 150 stars.

it allows you to put expiration on your code comments.
a comment can expire by e.g. a github, jira or youtrack issue-url. expiration dates and composer version constraints also work.

give it a shot :)

https://github.com/staabm/phpstan-todo-by

markusstaab, to random German
@markusstaab@phpc.social avatar

🎄Early christmas present 🎁

The latest releaes contains composer.lock based expiration for "php" and userland packages.

More stuff is in the working. please consider sponsoring.

https://staabm.github.io/2023/12/17/phpstan-todo-by-published.html

markusstaab, (edited ) to random German
@markusstaab@phpc.social avatar

Todays 1.11.0 release alone contains 11 contributions of mine:

  • some new side-effect rules
  • type narrowing improvements
  • signature improvements
  • internal cleanups

If this tool is vital for your daily job, please sponsor my freetime work or spread the word (tell your boss).

markusstaab, to random German
@markusstaab@phpc.social avatar

Just published the slides of my @phpugffm talk

" - check your sql queries like a boss"

https://staabm.github.io/talks/phpstan-dba@phpugffm/

markusstaab, to opensource German
@markusstaab@phpc.social avatar

@ufried is talking about sustainability in IT at .

This really reminds me of my main motiviation to improve performance in static analysis tooling like and

„We expect this changes to considerably reduce the amount of energy used in CI pipelines. So that’s my take on saving the planet and don’t waste energy.“

See https://staabm.github.io/2022/12/23/phpstan-speedzember.html

… or any other post in my series https://staabm.github.io/archive.html#performance

markusstaab, to opensource German
@markusstaab@phpc.social avatar

anyone aware of a #opensource #project which is heavily relying on #phpunit process isolation?

I am working on reducing overhead of process isolation and would love testing my progress on a real world test-suite.

RT welcome

markusstaab, to random German
@markusstaab@phpc.social avatar

Just put togehter everything I know about the result cache in a new blog post.

You will find a few usage examples and tipps about common pitfalls.

https://staabm.github.io/2023/10/21/phpstan-result-cache-gotchas.html

markusstaab, to random German
@markusstaab@phpc.social avatar

We are testing a new process managment patch in
which should allow running rector on huge projects without the need for endless RAM.

https://github.com/rectorphp/rector-src/pull/4965

if you own such project, help us testing rector@dev-main

markusstaab, to opensource German
@markusstaab@phpc.social avatar

In Q1/2024 I to 26 projects a whopping 92 merged Pull Requests, mostly in my freetime.

Highlights

please consider sponsoring if you rely on this tools

https://github.com/sponsors/staabm

markusstaab, to random German
@markusstaab@phpc.social avatar

RT @votrubaT
Rector 0.16 is the fastest version ever, thanks to 30+ speed up PRs by amazing @markusstaab 🥳️🥳️🥳️
Thank you Marcus!

Enjoy and let us know, how fast it got from 0.15.x 🚀 https://twitter.com/rectorphp/status/1654485864410411009

markusstaab, to random German
@markusstaab@phpc.social avatar

Pushed a new analysis release which supports filtering a baseline file.

that way you can focus your dev-teams effort on certain error classes.

as usual, you can use the tool to keep track of your progress.

https://staabm.github.io/2023/10/30/phpstan-filter-baseline.html

markusstaab, (edited ) to php German
@markusstaab@phpc.social avatar

In the next release AddReturnTypeDeclarationBasedOnParentClassMethodRector will be 10 times faster and uses only 30% of memory

https://github.com/rectorphp/rector-src/pull/4804

if you need fast and efficient rector tooling, please consider sponsoring my open source work :-)

markusstaab, to random German
@markusstaab@phpc.social avatar

Starting investigation into performance.

https://github.com/qossmic/deptrac/pull/1198

image/png

markusstaab, to random German
@markusstaab@phpc.social avatar

Started working on @phpunit

the tool is run so frequently in CI systems, every millisecond counts to reduce resource consumption or peoples wait-time for these on a daily basis.

markusstaab, to random German
@markusstaab@phpc.social avatar

Todays release adds support for full github urls as a out-of-the box format.

In contrast to previously supported issue trackers, it works without additional configuration right after extension was installed.

Additionally we now support XXX and FIXME comments.

see https://github.com/staabm/phpstan-todo-by/releases/tag/0.1.26

markusstaab, to random German
@markusstaab@phpc.social avatar

With todays contributed patch, process isolation on windows has 20-25% less overhead per test.

phpunit end-to-end test-suite is running 15 seconds faster.

should translate to any process isolated test on windows after next release.

markusstaab, to random German
@markusstaab@phpc.social avatar

I have a feeling, the 1.11.x will be pure gold (pun intended)

markusstaab, to random German
@markusstaab@phpc.social avatar

its profilling time again. try to squeeze out more in edge-case.

most annoying part is that running in this cases means you need to wait 10-15 minutes until the recording is done.

Already found a way to make it 37% faster: https://github.com/phpstan/phpstan-src/pull/3059

still investigating

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • everett
  • magazineikmin
  • mdbf
  • thenastyranch
  • khanakhh
  • rosin
  • Youngstown
  • ethstaker
  • slotface
  • modclub
  • kavyap
  • DreamBathrooms
  • Durango
  • provamag3
  • ngwrru68w68
  • InstantRegret
  • tacticalgear
  • GTA5RPClips
  • cubers
  • normalnudes
  • osvaldo12
  • tester
  • anitta
  • cisconetworking
  • megavids
  • Leos
  • lostlight
  • All magazines