| Pages: 1 2 [3] 4 :: one page |
| Author |
Thread Statistics | Show CCP posts - 1 post(s) |

Jim McGregor
|
Posted - 2007.07.25 11:09:00 -
[61]
Edited by: Jim McGregor on 25/07/2007 11:10:52
Originally by: Templer Relleg
So where is this "juicy" performance boost you rabbled on about?
Whats dont you use the sticky in Eve Info Portal? Then you would have found this:
Originally by: CCP Explorer It's impossible to come up with a single number on the performance increase since it depends on which system we view but we are seeing improvements across the board. For example, the startup time of the server has decreased by 10% and memory usage after startup has also decreased by 10%. The new PGO Stackless Python 2.5 performs 15% better on benchmark suites. CPU load on proxy servers is 25-50% less. We had fleet battles on the test servers with about 45% more people but still comparable load on the server and players reported less lag and better frame rates.
---
Originally by: CCP Wrangler You're not supposed to feel like you're logging in to a happy, happy, fluffy, fluffy lala land filled with fun and adventures, thats what hello kitty online is for.
|

KsLIVER
|
Posted - 2007.07.25 11:19:00 -
[62]
I love how everyone has unique issues, and blames some part of the game for it.
Game quality keeps getting better for me - keep it up CCP!
Vista Ultimate - 32 bit version core 2 duo - 6400 2 gigs ram etc, etc, etc...
|

OneSock
Silentia Mortalis Curse Alliance
|
Posted - 2007.07.25 11:24:00 -
[63]
There was certainly a lot of lag last night. Not sure if that was an unusually high number of players online but it was really nasty. I also found that even loading icons was slow, all my hanger items ships were "!" instead of icons. First time that has happened to me.
|
|

CCP Redundancy

|
Posted - 2007.07.25 11:26:00 -
[64]
You should always give a patch some time to settle in and have any surprise kinks worked out of it. It's easier to accidentally introduce a bug that negatively affects performance in a large code base than it is to improve performance.
|
|

Venkul Mul
Gallente
|
Posted - 2007.07.25 11:33:00 -
[65]
Originally by: Anubis Xian Not to alarm anyone, but maybe the virtual two boxing problem was intentional?
There are no legitimate ways to play the game that requires two clients being run at the same time by one person after all.
I invite you to type "mining" in the search box and look the number of post/whole tread suggesting that the only economically sound system to mine is to use 2 accounts.
Running 2 account isn't "required" but for some legitimate playstile it is "suggested", from the trader with alts on a second account checking prices to the "miner" with hauler second account and the pirate with a scout checking the peole jumping in in the next system.
All those position can be occupied by players doing that work, but I, for example wouldn't like to be the one stationed in Jita or a adjacent system to check prices every 10 minutes or the scout waiting at the gate for the good target, with no option to do something different
|

Vulor
Beyond Divinity Inc
|
Posted - 2007.07.25 15:59:00 -
[66]
Originally by: Masheine
"Stackless" is actually oddly named, since it's not actually lacking a stack. It just changed where it keeps the stack, instead of being so heavily integrated with the hosting C program.
QFT -- No sig today! |

Kagura Nikon
Minmatar Guardians of the Dawn Interstellar Alcohol Conglomerate
|
Posted - 2007.07.25 16:14:00 -
[67]
Originally by: Templer Relleg
Originally by: WhitePhantom
Originally by: Templer Relleg
Originally by: Niccolado Starwalker
I would also like to know where you got the 50% increase of CPU from. CCP have worked hard on reducing CPU. Not to increase it!
Im just stating a fact. I have no idea what CCP have done, or if its my system. Yet i blame python. It could be done so much more efficient in C++ code(Or any language with a JIT compiler)
You really think Java would provide better performance 
Like others have said they already used Python as the serverside backend, it was just updated to a newer version, the problems that were caused by it were only because of the short testing cycle and are minor at best.
Im sorry. I ment without a JIT compiler. C++ DOESNT have a JIT compiler.
Nothing on the Cpp standard prevent the implementation of a just in time compiler. And when you are coding for aserver, you know exactly the final platform. so JIT brings no gains comapred to traditional compiling.
If brute force doesn't solve your problem... you are not using enough |

Sertan Deras
Merch Industrial We Are Nice Guys
|
Posted - 2007.07.25 16:20:00 -
[68]
Good lord there is a whole lot of "don't know what I am talking about" going on in this thread. First off, Stackless Python and Python are the same freaking language. Stackless Python is kept current against the current Python HEAD at pretty much all times. The only difference is the virtual machine and the way it executes the Python code. Second off, Python is not a bad language, it's actually a really good one. It's very good for game scripting in fact and has been used quite successfully in other games. Battlefield 2 and Freedom Force vs. The Third Reich come immediately to mind, but mostly because I've played both extensively. There are others.
As far as CPU usage, you should be thanking your lucky stars that EVE didn't always use 100%. Most games just throw themselves in to an unchecked loop and never give the time slice back because without proper management it can slow the rendering task down. It's easier to say "Well, screw it, while(true) { RunTheGame(); }" and never look back. If CPU usage went up slightly, but that in turn means I don't grind to a damn halt every time I warp in to a "fleet" of more than five ships, so be it.
Also, even if the UI is linked against Stackless Python, I highly doubt it's making significant use of the stackless module, or tasklets and channels. There is just very little to be gained in the UI by spawning a bunch of tasklets to handle basic UI tasks. There may be a singular UI tasklet, but I doubt they spawned a ton of tasklets with proper communication channels so your buttons can talk to each other correctly. I could be wrong of course, at which point CCP deserves to be schooled on how to correctly use light weight micro-threads and where they are, and aren't, useful.
|

Sertan Deras
Merch Industrial We Are Nice Guys
|
Posted - 2007.07.25 16:23:00 -
[69]
Edited by: Sertan Deras on 25/07/2007 16:23:59
Originally by: Kagura Nikon
Nothing on the Cpp standard prevent the implementation of a just in time compiler. And when you are coding for aserver, you know exactly the final platform. so JIT brings no gains comapred to traditional compiling.
Okay, look, do you even know what a JIT is or what it's for? Why would you ever JIT code that is already natively compiled? Oh, that's right, you wouldn't. The point of a JIT is to take code that is not in the native code format and make it such, and to do it at runtime (as in, Just-In-Time). Making a JIT for standard natively compiled C++ would be stupid and redundant. You may have an argument for compiling C++ to an intermediate language then JITing it, but why would you use C++ for that task? Java and C# are designed for it specifically and are going to do a much better job of it. Being a good programmer is about knowing when, and when NOT, to use a tool. If you are using C++ in an environment where you seriously need a JIT capable language that is stored in an intermediate code format, then you have larger problems than needing a JIT for C++.
|

Kagura Nikon
Minmatar Guardians of the Dawn Interstellar Alcohol Conglomerate
|
Posted - 2007.07.25 16:26:00 -
[70]
I used python for years at work, including game development. And I still say, its a horrible language. Lua is far superior to game scripting. Python performance is horrible, and i find very very hard to read a code where the types are implicit defined (not explicit as in C++).
Also prefer languages were errors are detected in compile time not run time. Every huge system I worked with python we had new errors appearing months after the code was written. its good for prototyping, but would never use python by my own will on any large scale system.
If brute force doesn't solve your problem... you are not using enough |

Sertan Deras
Merch Industrial We Are Nice Guys
|
Posted - 2007.07.25 16:31:00 -
[71]
Originally by: Kagura Nikon I used python for years at work, including game development. And I still say, its a horrible language. Lua is far superior to game scripting. Python performance is horrible, and i find very very hard to read a code where the types are implicit defined (not explicit as in C++).
Also prefer languages were errors are detected in compile time not run time. Every huge system I worked with python we had new errors appearing months after the code was written. its good for prototyping, but would never use python by my own will on any large scale system.
I agree with you 100% about Lua, Lua is much better for this sort of task. Most people get too cought up on the fact that Lua isn't "OO enough", which is almost meaningless for game scripting tasks where your entire object backbone is likely to be in your native executables anyway. If you are defining your entire game object structure in your scripts, you are going to have a bigger issue down the road.
The one really cool use of Python I did see for gaming was having Python classes inherit from their native base classes, then override certain methods (like the TakeDamage method or something like that) to script in functionality. That was a nifty use.
|

Abye
Sniggerdly Pandemic Legion
|
Posted - 2007.07.25 16:39:00 -
[72]
When reading code, python wins over LUA, but maybe I just suck at the aspect of functional programming. ___
Inappropriate signature. Please do not use this signature. Email us for more information -Eldo ([email protected]) |

Kismo
The Refugees
|
Posted - 2007.07.25 16:44:00 -
[73]
Once I deleted the MachoNet folder from my cache, I stopped having CPU + crashing problems. I'd saw about a 20% increase in performance... maybe a bit more or less depending.
Oh, and Python does *not* suck. In fact, I've found in my time that programmers who "can't read Python" or find its usage unintuitive are pretty bad programmers. Usually the kind that are a danger to any code base. 
Kismo
|

Sertan Deras
Merch Industrial We Are Nice Guys
|
Posted - 2007.07.25 16:57:00 -
[74]
Originally by: Kismo Once I deleted the MachoNet folder from my cache, I stopped having CPU + crashing problems. I'd saw about a 20% increase in performance... maybe a bit more or less depending.
Oh, and Python does *not* suck. In fact, I've found in my time that programmers who "can't read Python" or find its usage unintuitive are pretty bad programmers. Usually the kind that are a danger to any code base. 
Kismo
What's all this "Can't read Python code" stuff about? Seriously, it's not that difficult to read. I guess the tab block thing might throw people off for about 30 seconds, but other than that, what's so difficult?
I would say the implicit nature of the type system is far more difficult to grasp than the code itself.
|

Tarminic
Black Flame Industries
|
Posted - 2007.07.25 17:05:00 -
[75]
Originally by: Kismo Once I deleted the MachoNet folder from my cache, I stopped having CPU + crashing problems. I'd saw about a 20% increase in performance... maybe a bit more or less depending.
Oh, and Python does *not* suck. In fact, I've found in my time that programmers who "can't read Python" or find its usage unintuitive are pretty bad programmers. Usually the kind that are a danger to any code base. 
I have to say, Python isn't perfect, but inability to read it's code should NOT be one of it's issues, lol. ------------ ULTIMATE LAG SOLUTION IBTL! IBDS/DC! IBTC! 1st in a BoB post! And other such forum tom-foolery. |

Lady Natacha
Minmatar Water and Power
|
Posted - 2007.07.25 17:07:00 -
[76]
So...
Since when did it become acceptable practice to use a rapid development language in a production environment, i.e. Python.
Can anyone say, Cold Fusion? 
Cats do play EVE. Where did you think player names like asdfghjj came from? 
|

Kagura Nikon
Minmatar Guardians of the Dawn Interstellar Alcohol Conglomerate
|
Posted - 2007.07.25 17:11:00 -
[77]
If you read a python function you do not know which type its supposed to receive as parameter. That means its interface is completely obscured. Clear and explicit interfaces are 99.9999% of having a readable code. Python is simply plain horrible to read. You cannot know form instant 1 what are the types involved.
Its by far the most unreadable language I ever used. In an OO language identifying the types is far far more important than reading the commands, and python fails completely on that.
If brute force doesn't solve your problem... you are not using enough |

Erichk Knaar
Caldari Maelstrom Crew
|
Posted - 2007.07.25 17:11:00 -
[78]
Just a note about Python performance. Where I work, we use it for a custom load testing rig. We did this because of a few things. We can rapidly adapt this rig to almost any new server set we have to test. Like, one afternoon rapid. It performs very, very well, because we've used good algorithms and appropriate data structures. Python/Twisted allows us to use this on a potentially massive cluster (our biggest use to date was driving about 30 load generating machines) with very little work. Most importantly, it takes me all of about a day to give someone OJT on how to write scripts and work with the system because the code is so readable and obvious.
We tried a few other languages before we settled on Python. C/C++ or Java are too slow in terms of development time, for a really small performance gain (i.e. not worth the extra effort). Stuff like Perl is simply unmaintainable in a system as large as the one we have.
I would imagine that trying to re-write the Eve servers or portions of the Eve client would also suffer greatly from diminishing returns. The small increases in performance you gain will not be worth the engineering effort you expend.
|

Erichk Knaar
Caldari Maelstrom Crew
|
Posted - 2007.07.25 17:13:00 -
[79]
Originally by: Kagura Nikon If you read a python function you do not know which type its supposed to receive as parameter. That means its interface is completely obscured. Clear and explicit interfaces are 99.9999% of having a readable code. Python is simply plain horrible to read. You cannot know form instant 1 what are the types involved.
Its by far the most unreadable language I ever used. In an OO language identifying the types is far far more important than reading the commands, and python fails completely on that.
Good code comments and pydoc ftw...
|

Fink Angel
Caldari The Merry Men
|
Posted - 2007.07.25 17:14:00 -
[80]
I'm not a programmer but feel the need to add my 2 cents here.
Sorry if I'm stating the obvious, but why not just feed it some of the hampsters?
Then it won't be a snackless Python any more and once it's full up it can go back to doing what it usually does, and stop making the clients and servers run slowly.
|

Kagura Nikon
Minmatar Guardians of the Dawn Interstellar Alcohol Conglomerate
|
Posted - 2007.07.25 17:15:00 -
[81]
Originally by: Erichk Knaar Just a note about Python performance. Where I work, we use it for a custom load testing rig. We did this because of a few things. We can rapidly adapt this rig to almost any new server set we have to test. Like, one afternoon rapid. It performs very, very well, because we've used good algorithms and appropriate data structures. Python/Twisted allows us to use this on a potentially massive cluster (our biggest use to date was driving about 30 load generating machines) with very little work. Most importantly, it takes me all of about a day to give someone OJT on how to write scripts and work with the system because the code is so readable and obvious.
We tried a few other languages before we settled on Python. C/C++ or Java are too slow in terms of development time, for a really small performance gain (i.e. not worth the extra effort). Stuff like Perl is simply unmaintainable in a system as large as the one we have.
I would imagine that trying to re-write the Eve servers or portions of the Eve client would also suffer greatly from diminishing returns. The small increases in performance you gain will not be worth the engineering effort you expend.
What type of system you implement? On all systems I worked on, after I made people drop python and rewrite in C++ we got 5 to 12 times performance increase (of course there systems were bottleneck wont be related to language). And in an specific MMO client we got 7 times performance improvment and reduced memory usage by 43%.
If brute force doesn't solve your problem... you are not using enough |

Sertan Deras
Merch Industrial We Are Nice Guys
|
Posted - 2007.07.25 17:25:00 -
[82]
I think some of you have gone way off on a tangent here. Rarely is Python used to write entire systems, though it's been done. In most cases Python is used as a supplement to a system, a glue language to tie together the native components in a rapid development, scripted environment. If done correctly, Python can be a great language for this. The implicit type system requires your programmers to comment well.
If some of you are advocating writing your entire suite of game code in a native language, I hate to break this to you, but you don't know much about how games are designed and developed. You absolutley must have a system in place that allows non-programming designers to quickly change and prototype game code, without needing to get a developer involved for a recompile of the entire engine. Later down the pipe, if it becomes apparent during your profiling that a certain section of the script glue code is a performance bottleneck, then you see about adding that section of code to your native engine for execution speed. Developers capable of writing working game engines cost good money and their time is valuable. The more you can have them writing engine code, and the less you need them to write game specific code, the better return you will get on the investment you are making for that persons talent.
|

Tortun Nahme
Minmatar Heimatar Services Conglomerate
|
Posted - 2007.07.25 17:28:00 -
[83]
Originally by: Kagura Nikon
Originally by: Erichk Knaar Just a note about Python performance. Where I work, we use it for a custom load testing rig. We did this because of a few things. We can rapidly adapt this rig to almost any new server set we have to test. Like, one afternoon rapid. It performs very, very well, because we've used good algorithms and appropriate data structures. Python/Twisted allows us to use this on a potentially massive cluster (our biggest use to date was driving about 30 load generating machines) with very little work. Most importantly, it takes me all of about a day to give someone OJT on how to write scripts and work with the system because the code is so readable and obvious.
We tried a few other languages before we settled on Python. C/C++ or Java are too slow in terms of development time, for a really small performance gain (i.e. not worth the extra effort). Stuff like Perl is simply unmaintainable in a system as large as the one we have.
I would imagine that trying to re-write the Eve servers or portions of the Eve client would also suffer greatly from diminishing returns. The small increases in performance you gain will not be worth the engineering effort you expend.
What type of system you implement? On all systems I worked on, after I made people drop python and rewrite in C++ we got 5 to 12 times performance increase (of course there systems were bottleneck wont be related to language). And in an specific MMO client we got 7 times performance improvment and reduced memory usage by 43%.
and in great eve tradition...
proof or STFU 
Real turtles tank armor. Real men fly Pink.
Nerfageddon |

Zkillz kun
Beets and Gravy Syndicate
|
Posted - 2007.07.25 17:29:00 -
[84]
with the exception of the lulz emergency patch(do they even test these? :P) i think preformance has gone up if anything, network preformance was definately up as made eveident by there not being huge post patch disconnects and lag. _____
|

Kagura Nikon
Minmatar Guardians of the Dawn Interstellar Alcohol Conglomerate
|
Posted - 2007.07.25 17:30:00 -
[85]
Originally by: Sertan Deras I think some of you have gone way off on a tangent here. Rarely is Python used to write entire systems, though it's been done. In most cases Python is used as a supplement to a system, a glue language to tie together the native components in a rapid development, scripted environment. If done correctly, Python can be a great language for this. The implicit type system requires your programmers to comment well.
If some of you are advocating writing your entire suite of game code in a native language, I hate to break this to you, but you don't know much about how games are designed and developed. You absolutley must have a system in place that allows non-programming designers to quickly change and prototype game code, without needing to get a developer involved for a recompile of the entire engine. Later down the pipe, if it becomes apparent during your profiling that a certain section of the script glue code is a performance bottleneck, then you see about adding that section of code to your native engine for execution speed. Developers capable of writing working game engines cost good money and their time is valuable. The more you can have them writing engine code, and the less you need them to write game specific code, the better return you will get on the investment you are making for that persons talent.
well I am game programmer. I know all this. And my experience up today is. Not worth let non real programmers do code, always at end we needed a professional programmer to review or correct a disaster that was created. So for example in current project everyone involved is a programmer or artist. The game designers are required C++ programming skills. Its working VERY nicely, much more fluid development.
If brute force doesn't solve your problem... you are not using enough |

Erichk Knaar
Caldari Maelstrom Crew
|
Posted - 2007.07.25 17:32:00 -
[86]
Originally by: Kagura Nikon What type of system you implement? On all systems I worked on, after I made people drop python and rewrite in C++ we got 5 to 12 times performance increase (of course there systems were bottleneck wont be related to language). And in an specific MMO client we got 7 times performance improvment and reduced memory usage by 43%.
Its a client sim. We test a game server set (not MMO) with it. We can get about 2000 clients per box on it. you can think of it as a game client without the GUI. The clients also co-ordinate amongst themselves to send "correct" data to the servers. So functions like joining lobbies, starting games, even in-game chat. Once in the game, they send the correct object sync messages and coordinate things like realistic scoring, so we're seeing somewhat real world data hitting the server set.
Best real world example of relative performance I can give you is about 10% less cycles if we use a C++ protocol generator instead of a python one. We use primarily a lot of dict lookups as we've found it the most efficient Python data type (O(1)).
|

Kismo
The Refugees
|
Posted - 2007.07.25 17:33:00 -
[87]
Originally by: Sertan Deras I think some of you have gone way off on a tangent here. Rarely is Python used to write entire systems, though it's been done. In most cases Python is used as a supplement to a system, a glue language to tie together the native components in a rapid development, scripted environment. If done correctly, Python can be a great language for this. The implicit type system requires your programmers to comment well.
If some of you are advocating writing your entire suite of game code in a native language, I hate to break this to you, but you don't know much about how games are designed and developed. You absolutley must have a system in place that allows non-programming designers to quickly change and prototype game code, without needing to get a developer involved for a recompile of the entire engine. Later down the pipe, if it becomes apparent during your profiling that a certain section of the script glue code is a performance bottleneck, then you see about adding that section of code to your native engine for execution speed. Developers capable of writing working game engines cost good money and their time is valuable. The more you can have them writing engine code, and the less you need them to write game specific code, the better return you will get on the investment you are making for that persons talent.
This man knows what he's talking about, from both a developer and manager point of view.
-Kismo
|

Sertan Deras
Merch Industrial We Are Nice Guys
|
Posted - 2007.07.25 17:36:00 -
[88]
Originally by: Kagura Nikon
Originally by: Sertan Deras I think some of you have gone way off on a tangent here. Rarely is Python used to write entire systems, though it's been done. In most cases Python is used as a supplement to a system, a glue language to tie together the native components in a rapid development, scripted environment. If done correctly, Python can be a great language for this. The implicit type system requires your programmers to comment well.
If some of you are advocating writing your entire suite of game code in a native language, I hate to break this to you, but you don't know much about how games are designed and developed. You absolutley must have a system in place that allows non-programming designers to quickly change and prototype game code, without needing to get a developer involved for a recompile of the entire engine. Later down the pipe, if it becomes apparent during your profiling that a certain section of the script glue code is a performance bottleneck, then you see about adding that section of code to your native engine for execution speed. Developers capable of writing working game engines cost good money and their time is valuable. The more you can have them writing engine code, and the less you need them to write game specific code, the better return you will get on the investment you are making for that persons talent.
well I am game programmer. I know all this. And my experience up today is. Not worth let non real programmers do code, always at end we needed a professional programmer to review or correct a disaster that was created. So for example in current project everyone involved is a programmer or artist. The game designers are required C++ programming skills. Its working VERY nicely, much more fluid development.
I am not sure how you work in your office, but the last thing I ever want is my game designers in my C++ code, EVER. I don't care how much C++ they think they know, they aren't going to be skilled at it enough to be hanging with the experienced C++ programmers around the water cooler, so to speak. I would much rather my designers work in a language where they can't do idiotic things, like oh, crash the software by using uninitialized pointers, or not understanding how memory management works. If I ever have a game designer walk up to me and ask me how templates work because they need to implement a new NPC agent, I am going to quit that job.
For that matter, when I want a game designer, I want a game designer, not a game designer who kinda dabbles in C++. First off, you can't "dabble" in C++ and be worth a damn. Second off, I want my game designers DESIGNING, not futzing around in Visual Studio for hours trying to implement new game code and get it compiled and tested. They should be able to alt-tab out of the game, open a text file, tweak and twiddle the code, go back in to the game and run a simple console command to reload their script changes. It's how I've always worked, and it works for me. Yes, I've worked on games in the past.
|

AirWalker
Amarr Galactic Response Team
|
Posted - 2007.07.25 17:37:00 -
[89]
ssssssss 2.5 > ssssssssss 2.3
......yea that sounds about right
|

Erichk Knaar
Caldari Maelstrom Crew
|
Posted - 2007.07.25 17:44:00 -
[90]
Anyway, this is a pointless discussion. To some people, C++ is too high level and they can get better performance hand rolling assembly. We don't generally hire those because we like a little something called making milestones.
|
| |
|
| Pages: 1 2 [3] 4 :: one page |
| First page | Previous page | Next page | Last page |