Bonobo::ItemContainer changes in 0.31 to 0.32



Hi,
  I notice that the method
      ObjectList enumObjects ();
   Has dissapeared from ItemContainer in 0.32+ of bonobo in favour of
      ObjectNames enumObjects ();

Before I changed some of my code that used the old method to use the
new level of indirection, I was thinking about the efficiency of the new
method.

    I have many collections that I put in ItemContainers. When accessing
these collections I usually want to iterate over most of the collection,
and had been using a STL container & iterator that I made to do this.
With the old method it was quite efficient, one method call got all the
unknown references, and thus all the references could be iterated in the
local address space and there was good speed doing this.

    With the new solution I would have to get all the object names
(which I think would require a transfer of more data than getting all
the references), and then call getObjectByName() for each reference.
Thus I would conclude that using the new interface for my existing
design would cripple the speed of the already slowing application.

    Perhaps my usage of this interface is not what the interface was
designed for, in which case I will copy the 0.31 interface and make a
local implementation for my application to continue to use. I though
that before I stopped using the standard interface I would drop a line.

BTW is there a script that can change code that used the old
enumObjects() into new API calls or does one do this change by hand.

Thank you.





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]