3 ms·
Aren't most of these already within boost or recent C++ standard ? I just took a look at the format and dynamic cases.
by slug 14y ago
Aren't most of these already within boost or recent C++ standard ? I just took a look at the format and dynamic cases.
- shin_lao 14y agoSome of them. For example Boost.Spirit.Karma is an order of magnitude faster than sprintf (I don't know compared to fbformat), with the drawback of a very long compile time (see here: http://tinodidriksen.com/2010/02/07/cpp-convert-int-to-string-speed/ http://tinodidriksen.com/2010/02/07/cpp-convert-int-to-strin...). Arena, SmallLocks and AtomicHashMap will have to challenge Intel TBB. I submit TBB will be better, but I haven't done the benchmarks. As for the rest, some of the stuff is simply outdated. There's better stuff than Synchronized in the C++11 standard. Foreach doesn't make sense with lambdas. Some of the headers are just trivial and useless functions (MapUtil.h, IntrusiveList.h, Random.h...), etc. I'm a bit disappointed.
- chad_walters 14y agoFrom the OP: "Our primary aim with this 'foolishness' is to create a solution that allows us to continue open sourcing parts of our stack without resorting to reinventing some of our internal wheels." And: "we think C++ developers might find parts of this library interesting in their own right." I think the key thing is that these are some basic pieces that a lot of FB's internal C++ code depends on. These pieces are being made available as a stepping stone to open sourcing more significant work.