|
-
Feb 1st, 2018, 10:53 PM
#1
what are your biggest bottlenecks?
I've been asked about bottlenecks for developers and their programs. I thought I'd go to the experts - you!
What do you consider bottle necks in your applications? Are these code-centric things? Are bottlenecks faced in .NET programs different from those in Java or other programming languages?
Thanks for your feedback!
-
Feb 1st, 2018, 11:23 PM
#2
Re: what are your biggest bottlenecks?
Are you talking about performance bottlenecks in code or productivity bottlenecks in the development process?
-
Feb 1st, 2018, 11:51 PM
#3
Re: what are your biggest bottlenecks?
I actually left the question vague enough to apply to both. The person I'm working with is asking more about the coding side, so I'll say that the coding side is what would be better to hear about.
Clearly, some bottlenecks are going to be expected - such as waiting on a database read, but are there others on the coding side?
-
Feb 2nd, 2018, 04:08 AM
#4
Re: what are your biggest bottlenecks?
File manipulation i would say can be a bottle neck, If you are having to create or update Files yourself in the application.
Integrating with third party apps
Heavy Graphical stuff
Please Mark your Thread "Resolved",  if the query is solved & Rate those who have helped you
-
Feb 2nd, 2018, 04:43 AM
#5
Re: what are your biggest bottlenecks?
As well as NeedSomeAnswers suggestions in post #4 (especially badly designed/coded file manipulation), I suggest bad algorithms/design. In c++ not understanding the time complexity implications of various methods on containers, choosing the wrong type of container. Knowing that what works OK for 10 items doesn't necessarily work OK for 10,000,000!
In terms of developers, the time taken to compile large solutions! Not doing performance profiling to determine where are the actual bottlenecks - as opposed to where they are thought to be!
Last edited by 2kaud; Feb 2nd, 2018 at 04:46 AM.
All advice is offered in good faith only. You are ultimately responsible for the effects of your programs and the integrity of the machines they run on. Anything I post, code snippets, advice, etc is licensed as Public Domain https://creativecommons.org/publicdomain/zero/1.0/
C++23 Compiler: Microsoft VS2022 (17.6.5)
-
Feb 2nd, 2018, 09:34 AM
#6
Re: what are your biggest bottlenecks?
My biggest bottleneck by Sapator:
There once was a beautiful maid that...
Ahm. Sorry bout that.
I would have to say, a couple of years ago I was assigned a task to make an application run more efficiently. After reducing the unneeded try catch blocks I was using the Visual Studio profiler to get any memory peaks and leaks n also debug memory dumps. I guess this included almost everything you could get with bottlenecks. It was hard as hell but I kinda liked the whole attempt. I managed to get the app (a huge web app calling a huge in house framework) run at about 25% faster. The main problems, if i remember correctly( been 6 years ago) was recursion and "Stop and wait" web calls. I didn't use threading at the time, I was just transformed inline calls to asmx web calls and manipulated from client side. I was also cutting down unused variable but I do not recall if they where taking out much memory or not. Am sure I'm missing other fixes but can't recall. I was dumping memory for a reason but again, can't recall the reason now.
Another one is CPU power. I saw that recently when we switched some 5 years old SQL servers with newer. A select that took 5 minutes it just takes a couple of seconds now.Also the servers do no hang thus creating a chain of hung's all through the SQL Server network in other locations (that depend on the main SQL's).
O non software bottlenecks. Response from other firms that we rely on is our current bottleneck and money - approval for new hardware from the accounting department. Ahh those accountants! 
Edit: Aha! I remembered something else. The application was not disposing objects correctly, so the asp file was growing and growing and eventually recycled, causing slowdowns. So this is also a consideration. Correct memory disposal wit may or may not use IDisposable. I had it going back then but if you ask me now, i don't remember a single step to use the function. So either MS is creating better disposable or I have drifted to other application coding sides. Actually currently I'm 90% SQL 10% .net , as the company deals with huge amounts of data and I'm almost daily checking SQL Server.
Last edited by sapator; Feb 2nd, 2018 at 10:12 AM.
ἄνδρα μοι ἔννεπε, μοῦσα, πολύτροπον, ὃς μάλα πολλὰ
πλάγχθη, ἐπεὶ Τροίης ἱερὸν πτολίεθρον ἔπερσεν·
-
Feb 2nd, 2018, 11:31 AM
#7
Re: what are your biggest bottlenecks?
Thanks for the responses. Please keep them coming!
Does anyone have code that is causing a bottleneck now?
-
Feb 2nd, 2018, 01:11 PM
#8
Re: what are your biggest bottlenecks?
Does anyone have code that is causing a bottleneck now?
No. But a couple of examples from c++ STL.
Needed a list to be sorted after insertions made (tens of thousands). Original had list kept in sorted order via inserting in the required place by first scanning list. Optimised version had all inserts done at the tail of the list which was then sorted once. Many minutes went down to just a couple of seconds.
Needed a vector as random access required. Again tens of thousands of insertions done (number not known in advance). Original had new elements added to end of vector which of course caused many, many memory reallocations. Optimised version used a list for the insertion at the tail which was then used to populate a vector once (size now known). Again minutes went down to a few seconds.
All advice is offered in good faith only. You are ultimately responsible for the effects of your programs and the integrity of the machines they run on. Anything I post, code snippets, advice, etc is licensed as Public Domain https://creativecommons.org/publicdomain/zero/1.0/
C++23 Compiler: Microsoft VS2022 (17.6.5)
-
Feb 2nd, 2018, 02:04 PM
#9
Re: what are your biggest bottlenecks?
I think my biggest development bottleneck is customers who are not exactly sure what they want and/or very weak written specs.
I often begin with the written specs (if any, sometimes people seem to be unable to write in English, much less organize their thoughts and put them into words). Then I meet with the customer bringing some prototypes (high-level application block diagram, usage workflow diagram, maybe mocked up screenshots where appropriate).
Often this is an iterative process of presenting my protos, eliciting comments, and updating the protos. At some point I usually end up writing the requirements documentation and meeting with the customer another time or two (or three). Before I write a single line of code I expect the customer to sign off on the specs, with the understanding that as things are discovered during actual development and testing we will revise the requirements/specs until we have sign-off again.
So the biggest bottleneck is customers who are clueless what they really need and want and/or unable to expend the effort to define that in writing.
This is no problem at all with some customers, who are a real pleasure to work with. But in recent years things have gotten worse and worse. It almost feels as if I am dealing with consumption oriented primitives with limited reading and writing skills let alone any logical thought process. How these people ever get hired completely escapes me.
If the "TV Generation" was bad, the "Cellphone Generation" is all but useless. While there isn't a 100% correlation it is very high.
-
Feb 2nd, 2018, 10:20 PM
#10
Re: what are your biggest bottlenecks?
+1 to product definition being the biggest bottle neck in creating custom software. It always amazed me how most people thought you could create a program to meet all their needs without having to take the time to explain their needs to you. I've had some that would get angry because I was bothering them with questions about how the program should work. Then when you install the program you get, Oh I thought it would do this and handle that and insert a widget here and ......
I really never felt any bottleneck in developing code the last 20years but that's probably because the first fifteen years was spent writing code with just line editors and no IDE like VS.
-
Feb 5th, 2018, 10:52 AM
#11
Re: what are your biggest bottlenecks?
My biggest bottleneck is dealing with third-party code that was written not just without automated tests, but with designs that thwart attempts to test it. I can't prove my code does what it says it does without automated tests, and that's important for the long-term maintenance of my project. Nonvirtual members, whackadoodle inheritance hierarchies with complex constructors in its base classes, depending on resources like the network in constructors, and all-around reliance on static state are all progress-killers.
This answer is wrong. You should be using TableAdapter and Dictionaries instead.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|