Hi Frank,
I am using SNMP4j to collect huge amounts of SNMP data (approximately 3200 Million OIDs per day) as part of a commercial application. When I create VariableBinding objects, both the OID object and the Variable objects get cloned which essentially means that I'm creating 3200 Million additional OID objects (with their corresponding int arrays) as well as 3200Million new Variable objects. I'm solving this currently by extending both Variable and OID to return a reference to themselves in the clone() method and by having a single Null() object such that I don't get a new one for each VariableBinding. Is there any way inside of SNMP4j we could use to avoid creating so many temporaries ? We would prefer to not use workarounds outside of SNMP4j such that we can remain fully compatible with the library to be able to benefit from the latest updates. The garbage collection has become our current bottleneck in our implementation where in terms of object creation in bytes we get: 48.3% int[] (from OID objects) 7.2% BER$MutableByte 6.7% OID 4.5% VariableBinding 3% Integer32. 2.2% Null We would be interested in getting support from you on this and other issues are we are considering on signing for the "SNMP4J annual email support package". Best regards, Iker _______________________________________________ SNMP4J mailing list [email protected] http://lists.agentpp.org/mailman/listinfo/snmp4j
