this post was submitted on 15 Jun 2024
78 points (91.5% liked)

Python

6421 readers
15 users here now

Welcome to the Python community on the programming.dev Lemmy instance!

πŸ“… Events

PastNovember 2023

October 2023

July 2023

August 2023

September 2023

🐍 Python project:
πŸ’“ Python Community:
✨ Python Ecosystem:
🌌 Fediverse
Communities
Projects
Feeds

founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 4 points 5 months ago (1 children)

Q: what do we do? A: profile and decompose. Should not be that distant as a thought

[–] FizzyOrange 1 points 5 months ago (2 children)

Profiling is an extremely useful tool for optimising the system that you have. It doesn't help if you have the wrong system entirely though.

[–] [email protected] 2 points 5 months ago

Upfront analysis and design is very close to independent from the technology, particularly at the I/O level

[–] [email protected] 2 points 5 months ago

That's why you need an architect to design the project for the expected requirements. They'll ask the important questions, like:

  • how many users (if it's a server)
  • any long-running processes? If so, what will those be doing?
  • how responsive does it need to be? What's "fast enough"?
  • what's more important short term, feature delivery or performance? Long term? How far away is "long term"?
  • what platforms do we need to support?
  • is AI or similar in the medium term goals? What's the use case?
  • how bad is downtime? How much are you willing to spend if downtime isn't an option?

You don't need all the answers up front, but you need enough to design a coherent system. It's like building a rail system, building a commuter line is much different than a light rail network, and the planners will need to know if those systems need to interact with anything else.

If you don't do that, you're going to end up overspending in some area, and probably significantly.