Diri, you have 50 attributes per products ?!?
Yep. Compare it with computers for gaming scene and computers for "normal" usage in IT.
The higher the price the more attributes become important. Bicycles are very special and often individual products - ie (upper) middle class and high end (let's say price starting above EUR 5.000) bikes are normally not bought "off the shelf". They are "feature complete" but, ...
Behaviour of customers is similar to car buyers: Why should I buy a normal Mercedes and not AMG with extras not being available for normal Mercedes?
Take VW as other example - lables are VW, Audi, Seat, Porsche, ..., - the attributes make the difference (and the price). The large SUV from VW has many parts from Porsche's SUV (or other way around?) but, there are real differences beside lable only.
Eg with "bio" bicycles there are about 40 important attributes to be able to distinguish and compare different models and lables based on technical facts.
When bikes have a motor real fun begins - legal obligations apply as well. Currently I count 54 important attributes at one manufacturer who offers 8 lables and parts and accessories. Mutliple manufacturers using one lable only offer products in every category as well and cover almost any price segment except very cheap low quality products (entry level to upper high end) and parts and accessories.
If you dont need the attributes in the category view, then you can disable custom fields in the list view and it should not be to slow.
In category view choosing manufacturer (if manufacturer modul is not VM standard) or sorting by price is sufficient. Details and comparison (similar products) are problematic areas.
Of course you should use customfields4all or my tag system in this case. Because the filter is get from an external table with indexes and not directly the values from virtuemart customfields that have no index(in all case text is slow for search and index need more memory for text fields)
Another advantage of my tag system and customfield for all is that you can rename it for all products in the plugin. In virtuemart you have to rename each text in the product.
I will have a closer look at it, maybe I change background tasks needing high performance to PHP as well than. Since many years I'm tired of PHP's incompatibilities from (sub) version to (sub) version. This is a plague since it's very beginning and has been reason for me to use Perl in background at least. High performance and ... it works. Spending time to PHP based frontend visualization to be compatible with recent versions is enough for me ATM.
Thank you for valuable advice ;-)