Girgias,
@Girgias@phpc.social avatar

I kinda need ideas for talks.

Do people want to know something particular about #php?
Be that internals, documentation, whatever insanity or pet peeve that goes through my mind (although that feels more like a regular podcast segment).

I'm all ears! :)

craigfrancis,

@Girgias Why PHP 9 will:

$q = ($_GET['q'] ?? NULL);
$q = filter_input(INPUT_GET, 'q');
$q = $request->input('q'); // Laravel
$q = $request->get('q'); // Symfony
// etc…

echo htmlentities(‘Search: ‘ . $q); // Fine

echo ‘Search: ‘ . htmlentities($q); // Fatal Error?

Or dare I suggest (5 + $nullable) and if (5 > $nullable) also fine.

You know I’m all for all of the other changes proposed, but this one does not make sense :-)

edorian,
@edorian@phpc.social avatar

@Girgias I'd like to hear what happened to/with the Jit in the last couple years.

I might be misinformed (yet another reason to hear about it) but as far as I'm aware it's off by default no company I know is using it.

Nor have I seen anyone claim performance improvements etc.

sebastian,
@sebastian@phpc.social avatar

@edorian @Girgias I would be interested in that as well.

derickr,
@derickr@phpc.social avatar

@sebastian @edorian @Girgias TLDR: Every time it crosses a boundary into an internal function, it bumps out of JIT mode, negating much of the performance benefits. Only pure (syntax-only) PHP benefits, such as I wrote about in https://derickrethans.nl/a-quick-look-at-jit.html

edorian,
@edorian@phpc.social avatar

@derickr thanks, I think I read this back in the day :)

It didn't really help me understand why people don't use it and the project defaults don't activate it.
Or explain the tradeoffs or the regular web application behaviors.

So getting a gimpse into where this is going might still be useful.

Crell,
@Crell@phpc.social avatar

@derickr @sebastian @edorian @Girgias Oh good, so you can either have code that's fast with the JIT off (hands off most work to C functions), or fast with the JIT on (does everything itself in PHP), but not both. Lovely.

edorian,
@edorian@phpc.social avatar

@Crell that wasn't necessary my reading and a couple years have passed as well, but the uncertainty around this between seasoned PHPeople seems to suggest we could use a more comprehensive analysis :)

derickr,
@derickr@phpc.social avatar

@edorian @Crell A secondary problem is that only really one active person knows thr JIT well enough to debug problems with it. And he's now working on a second JIT.

wyri,
@wyri@haxim.us avatar
derickr,
@derickr@phpc.social avatar
wyri,
@wyri@haxim.us avatar

@derickr @edorian @Crell Any specific internals thread I can read up on about it?

bcremer,
@bcremer@phpc.social avatar
wyri,
@wyri@haxim.us avatar

@bcremer @derickr @edorian @Crell Thanks, that looks interesting, and a metric ton of changes

derickr,
@derickr@phpc.social avatar

@wyri @edorian @Crell Nope. I haven't seen any of it either. It's also rumours to me.

wyri,
@wyri@haxim.us avatar

@derickr @edorian @Crell Ok thanks, wanted to make sure I read what was out there before asking questions like "Is this a good thing, and what benefits will it have?" 😅

sebastian,
@sebastian@phpc.social avatar

@Crell @derickr @edorian @Girgias So let's rewrite ext/standard in PHP to reduce the amount of boundary crossings and remove the barrier of entry for maintenance (PHP instead of C).

derickr,
@derickr@phpc.social avatar

@sebastian @Crell @edorian @Girgias Then you'll end up "punishing" everybody on CLI, or doesn't run with JIT on.

Or have one more implementation of everything (PHP, C, JIT-ted PHP).

edorian,
@edorian@phpc.social avatar

@derickr @sebastian @Crell @Girgias If it's faster with the Jit why wouldn't people run it / make it the default?

A solution for a shared space for cli scripts to store optimizations feels long overdue anyways, for opcache alone.

Also having more of PHP written in PHP would surely (at least that's my guess) ease maintainance and allow for more contribution. (No idea how that would look like of course or how it could perform)

derickr,
@derickr@phpc.social avatar

@edorian @sebastian @Crell @Girgias JIT only kicks in after the first runs of a function — something unlikely to happen on CLI. Adding a file cache brings a whole other set of issues.

JITted code might not behave as un-JITted (bugs).

It is also possible that some PHP implementations can never be as performant as a C implementation, because the latter has access to internal structures.

And adding a PHP implementation of internal functions, just means there is one more thing that can have bugs.

edorian,
@edorian@phpc.social avatar

@derickr @sebastian @Crell @Girgias Most of my cli scripts run either Webservers like reactPHP, run queue-workers or do c
other compute heavy workfloads.

The odd maintainance script I don't mind.

So while they don't load a ton with opcache during their runtime they do execute the same code path tens of thousands of times per minute.

wyri,
@wyri@haxim.us avatar

@edorian @derickr @sebastian @Crell @Girgias IIRC when I benchmarked a bare @reactphp Hello World server it had a nice 10% performance gain when turning the JIT on.

Girgias,
@Girgias@phpc.social avatar

@edorian This is not my domain of expertise at all but Dmitry has been working on a new IR which should hopefully make it easier to maintain and less buggy:

https://github.com/php/php-src/pull/12079

osteel,

@Girgias I don’t know about suggestions, but if you’d like to test some new material at PHP Sussex in Brighton at some point, let me know! Older talks work too 😉

https://meetu.ps/c/4k9sD/bj4mM/a

Girgias,
@Girgias@phpc.social avatar

@osteel Depends on when the meetup is within the month, but always happy to talk :D

osteel,

@Girgias it’s usually on the second Wednesday of the month. Earliest slot would be December 13, otherwise we’re looking at first half of next year (I’ve got some speakers pre-booked for the first few months but not confirmed yet, although May is available for sure. It’s quite far off though 😄)

awoodsnet,
@awoodsnet@phpc.social avatar

@Girgias “Mistakes Were Made”: discusses various bits of language design, how it went wrong, but also the good it accomplished.

“PHP Dreams”: Discuss the various features that you wish PHP could do, and what it would take to get there

“What motivates a core developer ?“ Creating PHP and using PHP are 2 different skills. Do you have side/pet products written in PHP?

heiglandreas,
@heiglandreas@phpc.social avatar

@awoodsnet @Girgias Also "Broken Dreams" why certain things are wanted AF but so far aren't implemented. Think Generics 😁

Girgias,
@Girgias@phpc.social avatar

@awoodsnet I have a bag of mistakes where they have provided no benefit :D but that sounds kinda "boring" for a main conference? Fun for a meetup I suppose.

Which feels in the same vein as the PHP Dreams one.

Or a podcast show again (if anyone wants to invite me on one feel free).

And for the last one, I can't even tell you really lol me being insane and wanting to "fix" PHP? One part was me being too lazy to learn a new ecosystem for features, but I don't write that much PHP atm. :(

magitism,

@Girgias Why hasn’t client side PHP caught on? 🤔

Girgias,
@Girgias@phpc.social avatar

@magitism What do you mean by client side?

magitism,

@Girgias It was a joke. But you CAN run it in the browser via web assembly.

sebastian,
@sebastian@phpc.social avatar

@magitism @Girgias And there is/was PHP-GTK. And there are OpenGL bindings.

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