Video yükleniyor...
Video Yüklenemedi
As a fun experiment, I've been tinkering with building a new test runner. It's crazy how fast it is (and this is only using one process to be a fair comparison, by default it's doing parallel testing)
10,013 görüntüleme • 2 ay önce •via X (Twitter)
19 Yorum

Very interesting comparison. If both runners execute the same tests in a single process and produce the same results, what is the main source of the performance difference? Is the yours lacking PHPUnit features? Any optimizations that could potentially benefit PHPUnit as well?

Still have to look into that

Does it run things parallel or where does the speed coming from? Would be nice if there is a diff to paratest or pest parallel mode.

This is one process, so no parallel

I think it's really great that it's written in PHP and not Rust or Go. These kinds of initiatives push PHP forward, and some patterns become more and more refined over time across the ecosystem. It may even lead to new language features eventually.

Impressive! Can you share something about how you achieved this?

Will do in the future

Cool, I started too some time ago but never finished. I also felt there is place for something new

Been thinking about this a lot too, but I would not choose PHP as the language to build this in. Rector is rebuilding in Go for a reason, shame to start a new test runner in PHP IMO (though I understand)

Is it written with non-PHP language?

Nope just php

I think you should compare with testo/testo

Built from the ground up? The speed difference is massive on this do you think you'll continue on with this experiment and look to release it?

Build from scratch, yeah. Well, on top of tempest/console, but that was also built from scratch. I might actually do something for it. Still experimenting atm

Interesting indeed. So in this experiment is tempest running on same phpunit tests cases?

You don't do the just return true for all tests optimization technique, do you? 😂

No these really is my test suite ported :p Next experiment is the Tempest test suite

@PerttiSoomann Are these tests public? I want to touch it using Testo :D

@PerttiSoomann Yes they are here
