Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re^7: Loose coupling (was Random quotes ...)

by tilly (Archbishop)
on May 02, 2005 at 01:37 UTC ( #453103=note: print w/replies, xml ) Need Help??


in reply to Re^6: Loose coupling (was Random quotes ...)
in thread Random quotes in the top left corner

I am not implying that.

I am implying that maintaining loose coupling necessarily keeps you from being able to find certain kinds of optimizations, and that means that the top possible performance (tight memory, etc) can be hit by a tightly integrated application. If performance is a significant constraint (mini computers in the 70's, GUI interfaces on PC hardware in the 80's, PDAs in the 90s) then tightly coupled systems may be viable several years before loosely coupled ones are.

(As a practical matter, most attempts to write a tightly coupled system will result in something slower than a loosely coupled system could have been. This is certainly a strategy that one would only try with very good reason.)

This applies to a small minority of software, and applies to virtually none in the Perl world. Places where I might expect to see this happen today include extremely high-volume servers (eg Google), very constrained systems (eg many embedded projects), and computationally intensive products (some games). None of those are good candidates for Perl because Perl is relatively big and slow.

  • Comment on Re^7: Loose coupling (was Random quotes ...)

Replies are listed 'Best First'.
Re^8: Loose coupling (was Random quotes ...)
by adrianh (Chancellor) on May 02, 2005 at 12:09 UTC
    I am not implying that.

    My bad. Then we agree :-)

    As a practical matter, most attempts to write a tightly coupled system will result in something slower than a loosely coupled system could have been. This is certainly a strategy that one would only try with very good reason.

    Yup. I think the point many people miss is that loosely coupled code/design doesn't necessarily lead to a hideously inefficient implementation. Even a naive loosely coupled implementation is not necessarily inefficient. Take into account the fact that compilers have got jolly clever over the years and picking a tightly coupled solution without a very good reason is foolish in the extreme.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://453103]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (2)
As of 2023-03-22 03:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Which type of climate do you prefer to live in?






    Results (60 votes). Check out past polls.

    Notices?