All of lore.kernel.org
 help / color / mirror / Atom feed
From: "la deng" <ladeng.mimi@gmail.com>
To: "WANG Cong" <xiyou.wangcong@gmail.com>,
	"la deng" <ladeng.mimi@gmail.com>,
	torvalds@linux-foundation.org, linux-kernel@vger.kernel.org
Subject: Re: c 's OOP in VFS vs c++'s OOP
Date: Fri, 4 May 2007 19:00:15 +0800	[thread overview]
Message-ID: <99e4df080705040400p66819117sec7f7d88d3794871@mail.gmail.com> (raw)
In-Reply-To: <20070504101129.GA5482@localhost.localdomain>

On 5/4/07, WANG Cong <xiyou.wangcong@gmail.com> wrote:
> On Fri, May 04, 2007 at 04:32:27PM +0800, la deng wrote:
> >reference to the c++'s father's interview
> >
> >http://www.artima.com/intv/abstreffi.html
> >
> >fortran and c++ can  achive good performance for they can abstract in
> >higher level and  their compiler can think in higher level to avoid
> >the cache miss (like in the array vs vector )or to achive the "no
> >code" Optimization
> >
>
> Well, it seems

 that you are a zealot of OOP. I admit OOP is really a good idea and a
good abstraction. And that's the reason why we borrow it in. Of
course, OOP in C is not true OOP. (Maybe we can call it pseudo-OOP.)
>
> >The vfs using c to OOP but c compiler can't have the high level
> >Intelligence as the c++ or fortran's compiler to help at the high
> >level Optimization
> >
>
> We just borrow the OOP ideas from OOP languages, like C++/Java/Python, but we can't use any of them. The reasons can be summarized as the following:
>
> 1. Those languages, like C++, hide many things behind you. But kernel needs to know those things.
> 2. Those languages can't be (well) mixed with assembly.
> 3. Speed is crucial for kernel, while those languages can't surpass C.
>
> >
> >one benchmark showed the c insert in the array will slow by speed of   1/17
>
> What benchmark? If your algorithm is well designed, C can't be more slowly.
>
> >
> >
> >Then ,what's the power of c OOP vs c++ with the compiler's
> >Intelligence in OOP?or maybe the c compiler have Outdated?
> >
>
> C compiler is _not_ out of date, of course. Why we choose OOP in C is explained above.
>
> In a word, we choose OOP because it's a good idea like you wanna show us, we prefer C because of it's low-levelness and speed.
>
> >any input will be appreciated.
>
> Regard!
>
> WANG Cong
>
>
well,I mean when use c as a higher level assembly maybe it a good
choose compare to assembly.

but,as below

http://www.research.att.com/~bs/esc99.html

when we use c to do the OOP ,for the c compiler has no the globe
Analysis .then the cache miss(for example : insert a array,c compiler
maybe  put the data into memory and then take it again for no globe
Analysis ) and the data not Optimi for in the register and c can't
control register like lisp or c++ with some compiler glob control and
Analysis,giveing c the penalty of 1/17 speed as normal

What's you think about it?

Thanks

  parent reply	other threads:[~2007-05-04 11:00 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-04  8:32 c 's OOP in VFS vs c++'s OOP la deng
     [not found] ` <20070504101129.GA5482@localhost.localdomain>
2007-05-04 11:00   ` la deng [this message]
2007-05-04 11:40     ` Jan Engelhardt
2007-05-04 12:30       ` WANG Cong
2007-05-04 13:53         ` la deng
2007-05-04 14:15           ` Jan Engelhardt
2007-05-05  6:37             ` la deng
2007-05-04 15:27           ` WANG Cong
2007-05-05  7:29     ` la deng

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=99e4df080705040400p66819117sec7f7d88d3794871@mail.gmail.com \
    --to=ladeng.mimi@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=xiyou.wangcong@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.