Re: sealed.pm v4.0.0 is out

2022-08-31 Thread Joe Schaefer
What I'm saying is that this isn't foolproof, but really neither is doing mod_perl + ithreads without sealed.pm. A bad tune will blow up under pressure, so be careful out there in the brave new world of single-tiered webstacks using mod_perl and mpm_event plus mod_http2. On Wed, Aug 31, 2022 at 8

Re: sealed.pm v4.0.0 is out

2022-08-31 Thread Joe Schaefer
4.0.1 is going to trap everything bizarre that occurs within the tweak() subroutine, and gracefully bail out. The only thing this needs your help with is to avoid putting heavy ithread pressure on mod_perl during interpreter destruction. One simple approach is to make sure your modperl interpreter

Re: sealed.pm v4.0.0 is out

2022-08-31 Thread Joe Schaefer
To throw mod_apreq2 into the benchmarking mix, add items to the query string you are hitting (on enquiry.pl). In particular, lang=.{en,es,de,fr} will generate UTF-8 European-language localized output. On Wed, Aug 31, 2022 at 7:13 PM Joe Schaefer wrote: > I went ahead and copied my company templa

Re: sealed.pm v4.0.0 is out

2022-08-31 Thread Joe Schaefer
I went ahead and copied my company templates over to the github cms repo, so you can run enquiry.pl yourself (once you edit the @TEMPLATE_DIRS path to point at your checkout). You will see sealed.pm at work in the httpd error logs. On Wed, Aug 31, 2022 at 1:02 PM Joe Schaefer wrote: > For my pa

Re: sealed.pm v4.0.0 is out

2022-08-31 Thread Joe Schaefer
For my part in this story, v4.0.0 is the end of the line. This release solves every business problem my own company had with prior releases, so I'm satisfied with where it lies. But it is not perfect by any stretch. To take it to the level where it needs to be someday, B::Generate's maintainers n

Re: h2c benchmarks with same Ubuntu tune as before

2022-08-31 Thread Joe Schaefer
*100_000 simultaneous requests. On Wed, Aug 31, 2022 at 12:41 PM Joe Schaefer wrote: > To explain the new-new here, with HTTP/2 comes this whole new idea of > multiplexed "HTTP channels" within a single TCP connection. In this > benchmark, each of the 1000 concurrent tcp connections has 100 mul

Re: h2c benchmarks with same Ubuntu tune as before

2022-08-31 Thread Joe Schaefer
To explain the new-new here, with HTTP/2 comes this whole new idea of multiplexed "HTTP channels" within a single TCP connection. In this benchmark, each of the 1000 concurrent tcp connections has 100 multiplexed requests to the same URL as on the command line. The reason mod_http2 need threads is

Re: sealed.pm v4.0.0 is out

2022-08-31 Thread Joe Schaefer
In the end, the surgery we do (to method_named), is to replace the prior $op's next() pointer to point at the $gv op we copied from a known subroutine's op-tree (that uses a typical subroutine call instead of a method lookup). Since we relocated that next() pointer, we need to decrement the intern

Re: sealed.pm v4.0.0 is out

2022-08-31 Thread Joe Schaefer
The :sealed attribute is a statement about a class's @ISA: you are saying you are using its compile-time setting. And because we invoke $class->can to do the lookup, module authors who override UNIVERSAL::can() with a customized one can support AUTOLOADed methods themselves. Under :sealed, you con

Re: sealed.pm v4.0.0 is out

2022-08-31 Thread Joe Schaefer
Submitted a Pull Request for the Generate.xs patch: https://github.com/rurban/b-generate/pull/2 Added more comments to sealed.pm to explain the rationale behind the # replace $methop logic, since it differs from what Doug did back in 2000. On Tue, Aug 30, 2022 at 2:52 PM Joe Schaefer wrote: > Ta