Environmental Impact Comparative testing

I’m currently setting up a test bed for a long term test of environmental impacts of CP vs WP.

The intention is to drill down into the exact differences between the two, server load and cost, the same for the network, based on different configurations and starting with a minimum.

I’m thinking of setting up a dedicated website that tracks various metrics in order to provide insight into the true performance differences. Not just the OS, but also the related eco-system. My intention is to use it as part of my ClassicPress Showcase, where, hopefully, I start helping to backup claims with firm, documented and repeatable evidence.

I have my first test plugin working, but, it is only a minor test currently, I need to build the base features, before starting to thrash out the tests. And also, I kind of see this as a side hobby, for when I can no longer cope with my core work, so my idea is just to visit it around once a week and add a new test, then explain what the new numbers mean. Eventually, I would like to be testing lots of plugin and theme combinations, in order to provide insight into exactly what impacts what, and offer guidance (to switch to CP :slight_smile: )

It is part of my overall push to start raising awareness of CP, and how, if every ordinary WP site switched to CP, we could save the planet better, and also our wallets, and give our customers better, not less service, for those fewer bucks.

At the same time, I have my CP deprecation scanner, and a team of bots trained to update plugins to work with CP. So, over time, I may be forming a pipeline of compatibility forks, that I will offer to the original developer.

Dev-debug tools, for example have recently removed their main deprecated jq files, and the plugin no longer gives warnings.

Does anyone else do any performance tests, etc?

3 Likes

I don’t do formal tests; I rely on the Query Monitor plugin to provide me with relevant data.

1 Like

@timkaye I think what he is trying to set up is not only a testing environment, but also a way to scientifically demonstrate CP performance compared to I think WP (or even other platforms).
I think somebody performed some testing in the past, discovering that CP performance is better than WP’s but there was no talk about setting up what you are building @Venutius - and I think it’s genius.

1 Like

that’d help people and organizations who want performance. I think that’s a great idea.

I’m using it not for performance myself although I have to say it really is performant, my reason is simpler, WP is ableist trash and breaks accessibility just because.

i have a plan to completely revamp help and accessibility. My Help API is currently mapping and adding all potential help interface options and we are then targeting those as additional and current help services. Once we understand the art of the possible, we will be adding an Admin-side accessibility option/ One side to my thinking in regards to accessibility, is that I can add some of those features as standard - no need to find a toggle, enlarge text on mouse hover as standard, for example. But that is experimental, and I will need a testing partner. Another area I want to explore, is audio-based help. I also have a friend with visual difficulties. who needs to not be fumbling around, trying to find things. Even if they are accessibility options.
This is part of my work to create a ClassicPress v4 demonstrator.

In addition, I am going to redesign the translation API. This, I feel is also out of date, and has not kept up with the clients needs, or the needs that are implicit with the direction and aims of ClassicPress. If I can shave some additional space from how the current system works, then, my hope is, we can see a large improvement that includes audio options, without making too much of an impact on the footprint.

I don’t think it is as fast as it could be, yet. every time a plugin or theme makes an external lookup or file load (fonts are classic), it means you may have wasted at least 100mS on extra pageload time, for a font that you may not have approved of, and may well never have changed since it was first created. Similarly, in the backend, why are we constantly looking for plugin updates? Even when not in the plugins directory? surely, for standard updates, the system should really, only do that look up, when it is appropriate - when there actually has been a change? What is more, we need every new software update to be verified and approved by the site administrator, with an update option that automatically rolls back in case of failure, and performs it’s own integrity scans right from the initial file-load - checking each critical file in different ways, so that the entire load process can be done with integrity at its heart. We can know if there has been any tampering or data loss, before the file loads, and we can swap it for a good one, first, before it ever gets loaded.

Thats what caching and optimization plugins are for.
And also things like Localize Fonts / CSS.

I use that in all my sites and most of the ones for clients. With client sites I actually HAVE to use them, because GDPR.

My favorite combination is WP Super Cache + Autoptimize.

Both plugins are working very reliable, and you can highly optimize things, have much better configuration options, esp. for e-commerce sites, and even hook into almost all stages of the caching.

Autoptimize allows you to do A LOT of fine-tuning in terms of CSS / JS, and optionally hooks into the queue processes to localize both JS and CSS loading, and even grabbing inline CSS straight from the HTML output. You also get a bit of “above the fold” CSS optimization, albeit that part is in general more of a sketchy thing, as in: questionable benefits / only for very specific cases.

For image optimization I tend to use ImageMagick Engine, because that seems to be the only plugin available that does LOCAL, ie. server-side optimization, while most of whats available are just slot-in placeholders for external services. Which obviously is a HUGE issue with data protection.

Thats more the job of a paid / contract worker or a hosting service like Raidboxes.

For rollbacks there is one decent plugin called WP Rollback, but the developer(s) decided to embrace the Gutenborg side of WP, so its mostly broken in its current iteration.

cu, w0lf.

OT: Is there a reason why you do not use paragraphs nor line breaks? Thats helping accessibility, too :wink: (esp. for sight-disabled person like me).

1 Like

Yes, but why not just intercept the first lookup, see if it is needed, and let the admin choose what to do about it. Many plugins have hardwired fonts and css styling, over-ruling both the theme and the site owners own choices. I want all fonts to be local, and allow the admin to know when external fonts are being loaded and give the tools and knowledge to know ehat they want to do with them.

Yes, I’m just looking to a model where the os does as much as it can without the need for additional plugins. I’m not saying they won’t be needed, just that an os should not launch features without the needed supporting help and built in options to control them. Always on for any form of external communications is an issue to me. I have the same opinion in regard to the number of external look-ups that you get with plugins. But, this is me thinking of a successful, future ClassicPress, that needs better ways of managing its complexity but retain its agility, and ability.

I am using them on input, so presumably something is stripping them?

Test

Test

I will try to keep my sentences shorter.

I do have a blurt mode and can go on and on creating walls of text sometimes. Thanks for reminding me.

If that leads to proper granular controls for the JS and CSS queues, eg. actual on-demand loading, queueing and caching, which is .. VERY HARD .. to do, with whats currently in place; I know, because I’ve been trying for decades.

Also: OS is what exactly? AFAIK OS stands for Operation System, and thats a few layers below the web server, where PHP resides.

cu, w0lf.

Shift + Enter gives you hard line breaks.
Eg. like this.

2x enter gives you a new paragraph.

what I dont get is: Is this your own personal goal for a project? Ie. ClassicPress performance demonstrator?

Or a “one person standalone” approach to force CP into a specific direction?
Cause then you’d be better off in turning this into a fork or just building a completely different system - I’ve done that in the past, too, with Abraxas, aka “ultra brutal redux”, a storage-agnostic CMS, loosely based on WP, taking strong inspiration from flat file CMSes and DokuWiki, later on partially implemented with F3.

cu, w0lf.

Yep, purely a personal challenge. I call my organisation a community organisation, but it is an organisation of one. I do not expect any help, and want to also show what is possible without it. This is because it meets the needs of many of my interests.

I do not even see this mythical V4 as an end goal. I see it as a jump start platform of options for ClassicPress that will allow be to leap towards a currently, mostly unknown, ClassicPress 5. Before I look at what could be, I need to get to what should be, first.

It does mean that I have been working 18 hours a day, purely on ClassicPress development, for around a month, for fun :slight_smile:

Right now, fun is quite a stretch :slight_smile:

Cheers for the tip. The differences in text editors another good example of this. Especially when they are on the same platform. Forced on the website by the choices of plugin designers and a lack of coherent standards platform wide.

Not a negative judgement, WP is communityt driven and what you get is what you get and much is understandable in that context. It is the same for ClassicPress. But I think we are coming to a point where we can do better with less human resources. Using PHP as a base, with js simply the icing on top, as ClassicPress does, makes things simpler, and better, in my opinion.

From my point of view, I supported BP for more than ten years. Forking plugin after plugin to try to keep things alive, while the core team tinkered around the edges, avoiding my suggestions and simply excluding myself and others from the community decisions. In that time, I was bought two cups of coffee.

So when I saw the bloat explosion deepening, and that core team with no succession, and a a notion that, for once, I’d just do what I wanted, I ended up here. My effort may expire tomorrow and there will be no impact. But if I get to where I’m looking to go. Then I will have an independent domonstration system that proves, not only that WP is getting way fastter over time, but also that CP is going in the opposite direction. In addition, my tests give me what the AI is demanding for my “proof of concept”, some numbers that are more than assumptions and best guesses. They are refusing to complete feasibility studies that include ClassicPress due to the lack of any autoreactive numbers that are publicly available. I had no idea I had to do this, but, I am now doing this :slight_smile:

If you think that I supported BP for ten years despite being excluded by the development team for being too non-developer centric, then you might understand that I’m pretty resilient in terms of my insistence on helping others.

2 Likes

See, this is another reason for me getting excluded - wall of text. I will try to curtail this.