I did a quick benchmark on linux with gcc 4.9.1/clang 3.4.2, and it looks
like std::vector is actually faster than CUtlVector when inserting 100000
elements:
CUtlVector: 9021 µs
std::vector: 4456 µs
It's faster as well when removing the first 1000:
CUtlVector: 88 µs
std::vector: 39 µs

It may have been true 10 years ago that Valve's STL was faster than the
system's one, but I doubt it is today.


2014-07-19 18:12 GMT+02:00 Jorge Rodriguez <bs.v...@gmail.com>:

> This may not convince you to use it but in fact valves template library is
> faster than STL. It has a few gotchas as far as usage goes but standard STL
> implementations tend to be somewhat slow especially in debug mode.
> El jul 18, 2014 1:27 PM, "Borzh" <borz...@gmail.com> escribió:
>
> I just include <algorithm> and that breaks everything (I don't need to use
>> min/max of course).
>> I just was writing external plugin for source and I don't really know all
>> valve internals.
>> Just prefer use STL, which I know is an awesome (and well tested in all
>> ways) library.
>>
>>
>> 2014-07-18 16:48 GMT-03:00 Skyler York <sky...@gmail.com>:
>>
>>> Quick side note, but you can wrap std::min/max in parenthesis to prevent
>>> macro expansion. It's not pretty but it works:
>>>
>>> (std::max)(a, b);
>>>
>>>
>>> On Fri, Jul 18, 2014 at 11:33 AM, Tony "omega" Sergi <
>>> omegal...@gmail.com> wrote:
>>>
>>>> I don't understand why you need to use stl at all.. when the reason why
>>>> it's incompatible, is because pretty much every use of stl has been wrapped
>>>> by valve functions in order to tie it all into the memory manager. tier1 is
>>>> full of engine compatible containers and whatnot for anything you could
>>>> need to do.
>>>>
>>>>
>>>> On Fri, Jul 18, 2014 at 9:20 PM, Borzh <borz...@gmail.com> wrote:
>>>>
>>>>> I had to undefine it, undefine MINMAX_H also, so it could be included
>>>>> after that and then include minmax.h manually.
>>>>> Anyway it is ugly solution and macros should be written in uppercase
>>>>> to not confuse with methods.
>>>>>
>>>>>
>>>>> 2014-07-17 21:25 GMT-03:00 Dexter Haslem <dexter.has...@gmail.com>:
>>>>>
>>>>> why not just undefine it before STL headers?
>>>>>>
>>>>>> On Thu, Jul 17, 2014 at 11:33 AM, Borzh <borz...@gmail.com> wrote:
>>>>>> > Hello all,
>>>>>> >
>>>>>> > I propose using template functions in minmax.h instead of defines.
>>>>>> Or at
>>>>>> > least use uppercase letters for macros.
>>>>>> >
>>>>>> > It has been discussed a lot of times:
>>>>>> > - windows.h defines min/max, it is ugly, ok but I thought Valve is
>>>>>> not
>>>>>> > Microsoft. At least for Windows you can #define NOMINMAX before
>>>>>> include
>>>>>> > windows.h.
>>>>>> >
>>>>>> > - Valve's minmax.h defines min/max and you can't use STL because it
>>>>>> tries to
>>>>>> > apply macros to std::min and std::max which breaks everything!!!
>>>>>> Can't avoid
>>>>>> > it, because Valve use this macros everywhere!!!
>>>>>> >
>>>>>> > If someone from Valve is reading this, please do something, it is
>>>>>> awful !!!
>>>>>> >
>>>>>> > Thanks,
>>>>>> > Boris.
>>>>>> >
>>>>>> > _______________________________________________
>>>>>> > To unsubscribe, edit your list preferences, or view the list
>>>>>> archives,
>>>>>> > please visit:
>>>>>> > https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders
>>>>>> >
>>>>>> >
>>>>>>
>>>>>> _______________________________________________
>>>>>> To unsubscribe, edit your list preferences, or view the list
>>>>>> archives, please visit:
>>>>>> https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders
>>>>>>
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> To unsubscribe, edit your list preferences, or view the list archives,
>>>>> please visit:
>>>>> https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> -Tony
>>>>
>>>> _______________________________________________
>>>> To unsubscribe, edit your list preferences, or view the list archives,
>>>> please visit:
>>>> https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders
>>>>
>>>>
>>>>
>>>
>>> _______________________________________________
>>> To unsubscribe, edit your list preferences, or view the list archives,
>>> please visit:
>>> https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders
>>>
>>>
>>>
>>
>> _______________________________________________
>> To unsubscribe, edit your list preferences, or view the list archives,
>> please visit:
>> https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders
>>
>>
>>
> _______________________________________________
> To unsubscribe, edit your list preferences, or view the list archives,
> please visit:
> https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders
>
>
>
_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlcoders

Reply via email to