Re: c 's OOP in VFS vs c++'s OOP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 5/4/07, WANG Cong <[email protected]> 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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux