vector<bool> tunen
-
Ja, es geht mir um die Performance
Ich will sowas:
void add(bit_vector& a, const bit_vector& b, size_t count) { assert(a.size() >= count); for (size_t i = 0; i < count; ++i) a[i] = a[i] ^ b[i]; }beschleunigen
-
Vielleicht Boost.DynamicBitset? Ich weiss allerdings nicht, wie sehr das auf Performance optimiert ist.
-
Danke, ich schaus mir mal an!
-
std::bitsetginge sonst auch, falls die Grösse zur Kompilierzeit bekannt ist. Dürfte wegen der wegfallenden dynamischen Allokation noch schneller sein. Unter MSVC++ ist es wordweise implementiert.
-
Ja, aber std::bitset hat kein ^=.
-
oh, doch?
-
-
anyway, ich brauche Größenfestlegung zur Laufzeit. Jetzt nur noch hoffen, dass boost wordweise implementieert istg^^
-
Bei mir verwendet
boost::dynamic_bitset<>einenstd::vector<unsigned long>, arbeitet also wordweise. Ich habe die Version 1.42.
-
dsfsdf schrieb:
anyway, ich brauche Größenfestlegung zur Laufzeit. Jetzt nur noch hoffen, dass boost wordweise implementieert istg^^
guck doch einfach in die implementierung?
nachdem dynamic_bitset ein template ist, und man sich den "block typ" aussuchen kann (default = unsigned long), gehe ich allerdings stark davon aus, dass auch alle operationen - sofern möglich - "blockweise" implementiert sind.
-
Danke für die Information!
Ich bin noch am Runterladen mit 29 kB/s. 