Which uses less memory, one bigger more complicated piston, or two separate more simple pistons?
Multiple simple pistons will perform better than a single complicated one. Back when CoRE was fairly new, a few of us tried to make a single complex piston (@bamarayne even made a “whole house” piston) with poor results. Once you hit a certain complexity the pistons become very slow and cumbersome to navigate through and edit. The one I built still worked, but it wasn’t worth the effort.
I do find myself feeling inadequate a as programmer when someone has a large piston and says they run their whole house with 6 of them.
I have found that there are certain quirks with pistons especially following logic that a human thinks is right but the IF THEN ELSE/ELSI-IF Latching piston thinks differently. Not in a bad way but we assume things and don’t always interpret what the structure is telling us correctly.
That being said I prefer smaller, concise pistons, especially for troubleshooting.
I think it’s better to create subroutine “pistons” and use common calls to working piston stubs if you want to get complicated.