Would be amazing to see these changes ported to Source/Orangebox engines :)



Chris Green escribió:
>> The first thing I can think of that you could do is rewrite the time
>>     
> function to cache time and only update it every so often.. I have a
> proof of concept here. It reduces
> syscall time by 40% for HZ=1000 for gettimeofday/clock_gettime.
>
>
> The left4dead server replaces the gettimeofday calls with use of the hardware 
> cycle counter (on systems which support it stably) reducing the amount of 
> time spent making syscalls for time to approximately zero. Also, thread 
> locals went from pthread functions to compiler thread local support, 
> lock-free thread operations went to gcc intrinsics, etc. So the linux DS bins 
> spend a lot less time in the kernel and c library functions than previous 
> linux server releases.
>
> We're using gcc 4.3.0 for l4d.
>
>
>
> -----Original Message-----
> From: [email protected] 
> [mailto:[email protected]] On Behalf Of Gary Stanley
> Sent: Saturday, January 24, 2009 5:17 PM
> To: Half-Life dedicated Linux server mailing list; Half-Life dedicated Linux 
> server mailing list
> Subject: Re: [hlds_linux] AMD64 binaries
>
> At 03:32 PM 1/24/2009, Chris Green wrote:
>   
>> Those amd-optimized binaries weren't 64-bit binaries AFAIK (this is
>>     
> >from before I started working on the linux ds), but rather were just
>   
>> binaries produced with gcc tuning settings set to favor the amd64
>> chips. With the orange box (and subsequently with l4d), we changed a
>> lot of our compiler settings and versions and a lot of things about
>> the way we optimize code had changed, and it was felt that after
>> these changes, there weren't significant improvements from having
>> separate binaries for intel and amd.
>>     
>
> Honestly, from an OS point of view 64bit binaries give you a couple
> of registers to use on the stack.. i know you use -fPIC for your
> shared libaries, so you lose a register to use on the stack.. older
> gcc's suffered,
> while newer ones are better at optimizing. What GCC are you using for source?
>
>
>   
>> In our more recent dedicated server work, we've concentrated on
>> optimizations that enhance performance of all platforms, and you can
>> see it in the
>> left4dead linux ds. This release had a lot of the linux-specific
>> code rewritten, switch compiler versions, turned on higher optimization 
>> levels,
>> and had a lot of linux-specific server features added, and is
>> definitely the highest performing linux ds we've released for any of our 
>> games.
>>     
>
> The first thing I can think of that you could do is rewrite the time
> function to cache time and only update it every so often.. I have a
> proof of concept here. It reduces
> syscall time by 40% for HZ=1000 for gettimeofday/clock_gettime.
>
> I'm currently using timer_create() instead of usleep() for an experiment.
>
>
>
>
>   
>> -----Original Message-----
>> From: [email protected]
>> [mailto:[email protected]] On Behalf Of ics
>> Sent: Saturday, January 24, 2009 11:47 AM
>> To: Half-Life dedicated Linux server mailing list
>> Subject: Re: [hlds_linux] AMD64 binaries
>>
>> Maybe 64bit binary was discontinued because it was harder to keep up
>> many branches of the engine. Srcds_i486 runs fine on most machines.
>> Thats the main purpose anyway, not "best performance" which some people
>> here seem to be looking for. Their agenda may be commercial or out of
>> interest but i dont think you will get 64bit binaries unless whole Steam
>> goes 64bit among games. It must be discontinued for a reason.
>>
>> -ics
>>
>> Walton Hoops kirjoitti:
>>     
>>> I admit I haven't dug into the scripts to see what is actually being run,
>>> but whenever I start my server (using Ubuntu x64), I see:
>>>
>>> Auto detecting CPU
>>> Using AMD-Opteron (64 bit) Optimised binary.
>>>
>>> This sounds to me like there already is a 64-bit binary.  Am I mistaken?
>>>
>>> Walton
>>>
>>> --------------------------------------------------
>>> From: "Kveri" <[email protected]>
>>> Sent: Saturday, January 24, 2009 10:26 AM
>>> To: "Half-Life dedicated Linux server mailing list"
>>> <[email protected]>
>>> Subject: Re: [hlds_linux] AMD64 binaries
>>>
>>>
>>>       
>>>> I think almost everyone here uses newer processors, so everyone should
>>>> be interested :).
>>>>
>>>> Why not to use all that power the x64 processors offer?
>>>>
>>>> Kveri
>>>>
>>>> Joseph Laws wrote:
>>>>
>>>>         
>>>>> Yes, I'm very interested in the status of the AMD64 binaries as well.
>>>>>
>>>>> Gary Stanley wrote:
>>>>>
>>>>>
>>>>>           
>>>>>> What ever happened to AMD64, valve?
>>>>>>
>>>>>> The AMD64 binaries allowed hosters to use additional gpr's on the
>>>>>> stack.. also there are other benefits, native vsyscalls/vdso, no more
>>>>>> memory segmentation, high memory support (no PAE)
>>>>>>
>>>>>> Can you re-release them? I found the older binaries performed
>>>>>> excellently under load.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> To unsubscribe, edit your list preferences, or view the list archives,
>>>>>> please visit:
>>>>>> http://list.valvesoftware.com/mailman/listinfo/hlds_linux
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>             
>>>>> _______________________________________________
>>>>> To unsubscribe, edit your list preferences, or view the list archives,
>>>>> please visit:
>>>>> http://list.valvesoftware.com/mailman/listinfo/hlds_linux
>>>>>
>>>>>
>>>>>
>>>>>           
>>>> _______________________________________________
>>>> To unsubscribe, edit your list preferences, or view the list archives,
>>>> please visit:
>>>> http://list.valvesoftware.com/mailman/listinfo/hlds_linux
>>>>
>>>>
>>>>         
>>> _______________________________________________
>>> To unsubscribe, edit your list preferences, or view the list
>>>       
>> archives, please visit:
>>     
>>> http://list.valvesoftware.com/mailman/listinfo/hlds_linux
>>>
>>>       
>> _______________________________________________
>> To unsubscribe, edit your list preferences, or view the list
>> archives, please visit:
>> http://list.valvesoftware.com/mailman/listinfo/hlds_linux
>>
>> _______________________________________________
>> To unsubscribe, edit your list preferences, or view the list
>> archives, please visit:
>> http://list.valvesoftware.com/mailman/listinfo/hlds_linux
>>     
>
>
> _______________________________________________
> To unsubscribe, edit your list preferences, or view the list archives, please 
> visit:
> http://list.valvesoftware.com/mailman/listinfo/hlds_linux
>
> _______________________________________________
> To unsubscribe, edit your list preferences, or view the list archives, please 
> visit:
> http://list.valvesoftware.com/mailman/listinfo/hlds_linux
>
>   


_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlds_linux

Reply via email to