The first advantage is the ability to have a 64-bit address space for pointers. This allows for extensibility to address considerably more physical memory (over 16,000,000,000 GBytes). Of course, no system requires that much memory, but the added virtual space is very handy, and systems do currently buck into the 32-bit limit of 4GB. The additional virtual memory space is handy in kernel development where everything shares the same memory mapping. The spectrum of the 64-bit address space is large enough to give everyone plenty of room to play with. Makes code much simpler.
Having 64-bit pointers actually has a draw back in that the amount of memory required to store a pointer is now 8 bytes instead of 4. For some code this increases memory utilization considerably and equally increases memory bandwidth requirements. Because of this, most (except alpha) 64-bit cpus will allow you to use 32-bit addressing if you are using less than 4 MB of memory.
Memory is only one feature of 64-bit processing. 64-bit arithmetic is very useful, especially when processing lots of data. However, software must be written generally to take advantage of this feature. When working with large numbers which require more than 32-bits to express, 64-bit CPU's have a huge advantage over their 32-bit cousins. Cryptographic, compression, multi-media and parity generation applications bennifit greatly from 64-bit operations.
I have inherited the C code for an embedded system project that has run out of code space.
Stack space? Inlining is not neccessarily going to solve this problem. Recursion is probably your problem. Also, make the stack larger if possible.
Instruction space? Inlining will most likely make this worse, except in extremely abstracted code where the overhead to make the function call is more than the inline expense.
...the compiler doesnt generate efficient code for stack handling.
The solution is to fix the compiler's stack handling. When the compiler is the problem, fix the compiler. I've never heard of an embedded systems project that didn't include someone hacking with the compiler.
Ideally I would direct the compiler to 'inline' a lot of the functions but unfortunately it doesnt support the inline keyword.
Changing the compiler to support the keyword is probably a pain in the butt. However, there are very few C compilers which don't support some form of the inline keyword. Double check your docs.
Using macros is dangerous...
Macros Dangerous? That's rediculous. I suppose creating some wierd perl script to munch through your source code ripping up inline functions and auto-generating C files that will never have the propper dependecies is safe?
...and manually inlining is driving me crazy! What I need is a tool that will take the source files, look for the 'inline' keyword and generate new source files that are inlined. Any ideas?"
This is crazy! Autogenerating code is a great way to totally fuck up your build system. You'll never get your dependencies right and you'll end up building your entire project every time. Writing a tool that will parse your source code and identify the inline keyword is *exactly* as complicated as making the compiler understand the inline keyword. Don't do some bizzare on-off wierd hack. Instead, if you really want to use inline, bust out your compiler source and get cranking. If you don't have the compiler source, bust out gcc source and get cranking porting gcc to your hardware.
Sounds to me like he was fired. What kind of wierd ethics puts some freeware project ahead of the company you work for? Redhat does pour alot of cash into open source. Shouldn't they be allowed to steer it as they see fit?
FUD alert:
For one thing, it's only as reliable as your network. If you have a network problem such as a down switch/hub etc, you lose your disks immediately.
Of course a fiber channel SAN network has exactly the same properties.
Unlike SCSI and Fibre Channel, you can't boot from an iSCSI volume. This is because your operating system has to be loaded, and your TCP/IP stack initialized, before you can load the iSCSI driver. Most operating systems want to load their storage drivers before they load their networking drivers...
This is not true and has nothing to do with iSCSI but rather the iSCSI HBA. An iSCSI HBAs can have their own network stack which not only offloads the networking computes but also configures on its own.
By putting block level storage on your LAN, you've increased the capacity requirements by several orders of magnitude. To get any reasonable performance you're going to need Gigabit Ethernet everywhere -- and if you're going to make that kind of investment, you might as well be doing Fibre Channel.
Look at the figures. A 1Gb fiber channel switch costs roughly twich that of a 1GigE switch. 10GibE switchs are already available, while 10Gb FC still is being debated. The upgrade to GigE will happen naturally on a network. The cost of the switches are ammortized over the network and the switches are cheaper because they don't serve a specialized data center market.
What's incredible about these ads is that they have that "retro futuristic" theme. Watching them now, you still feel like you are witnessing something from the future. Plus, bonus Phil Hartman.
I agree. The article was bad news. What the article fails to understand is that what my opinion or this guy's views of the GPL is is irrelevant. It is the opinion of a judge someday to decide the fate of Intellectual Property that links or otherwises uses GPL (and even LGPL) code. This is the fear that companies face with the GPL, uncertainty.
"Weather" is a noun refering to the state of the current atmospheric conditions.
"Whether" is a conjunction used in indirect questions to introduce an alternative.
"Editor" is one who prepares written material for publication or presentation, as by correcting, revising, or adapting.
The first advantage is the ability to have a 64-bit address space for pointers. This allows for extensibility to address considerably more physical memory (over 16,000,000,000 GBytes). Of course, no system requires that much memory, but the added virtual space is very handy, and systems do currently buck into the 32-bit limit of 4GB. The additional virtual memory space is handy in kernel development where everything shares the same memory mapping. The spectrum of the 64-bit address space is large enough to give everyone plenty of room to play with. Makes code much simpler.
Having 64-bit pointers actually has a draw back in that the amount of memory required to store a pointer is now 8 bytes instead of 4. For some code this increases memory utilization considerably and equally increases memory bandwidth requirements. Because of this, most (except alpha) 64-bit cpus will allow you to use 32-bit addressing if you are using less than 4 MB of memory.
Memory is only one feature of 64-bit processing. 64-bit arithmetic is very useful, especially when processing lots of data. However, software must be written generally to take advantage of this feature. When working with large numbers which require more than 32-bits to express, 64-bit CPU's have a huge advantage over their 32-bit cousins. Cryptographic, compression, multi-media and parity generation applications bennifit greatly from 64-bit operations.
Stack space? Inlining is not neccessarily going to solve this problem. Recursion is probably your problem. Also, make the stack larger if possible.
Instruction space? Inlining will most likely make this worse, except in extremely abstracted code where the overhead to make the function call is more than the inline expense.
The solution is to fix the compiler's stack handling. When the compiler is the problem, fix the compiler. I've never heard of an embedded systems project that didn't include someone hacking with the compiler.
Ideally I would direct the compiler to 'inline' a lot of the functions but unfortunately it doesnt support the inline keyword.
Changing the compiler to support the keyword is probably a pain in the butt. However, there are very few C compilers which don't support some form of the inline keyword. Double check your docs.
Using macros is dangerous...
Macros Dangerous? That's rediculous. I suppose creating some wierd perl script to munch through your source code ripping up inline functions and auto-generating C files that will never have the propper dependecies is safe?
This is crazy! Autogenerating code is a great way to totally fuck up your build system. You'll never get your dependencies right and you'll end up building your entire project every time. Writing a tool that will parse your source code and identify the inline keyword is *exactly* as complicated as making the compiler understand the inline keyword. Don't do some bizzare on-off wierd hack. Instead, if you really want to use inline, bust out your compiler source and get cranking. If you don't have the compiler source, bust out gcc source and get cranking porting gcc to your hardware.
When I want to find something I just use google.
.net banner ads running on /.
I'm not sure what bothers me more, seeing a sniper run amuck in DC or seeing
Seriously, I'm suprized with all of the security cameras everwhere that he hasn't popped up on a video tape yet.
Sounds to me like he was fired. What kind of wierd ethics puts some freeware project ahead of the company you work for? Redhat does pour alot of cash into open source. Shouldn't they be allowed to steer it as they see fit?
The real #1 FAQ that FSF receives:
Why are you such a GNU/Asshole?
Let's face it:
It's big.
It's bad.
Play the darth vader (Imperial March) music from Empire Strikes Back. That's what a pulsar sounds like.
Ampersand technology is so passe. These days we can do this experiment with just cheese-wiz and the note B-flat.
What did you say?
Do you have a Lice-sONce for your Mingkey?
Mingkey? What do you mean?
Mingkey! Mingkey! Chimpanzee Minkey!
My article on how a Spanish Porn company is trying to buy Napster from the WSJ (need subscription) was rejected.
It's nice to hear that young people today are getting religious early.
The ink cartridges required to print out the some odd 800 pages are worth $100.
For an online resource this is great in case I'm travelling or my hardcopy is unavailable.
However, I still want my bible in print.
It isn't rocket science. It's horticulture and geriatrics.
Is Hackmaster sweet? Looks classic.
I think I see Ken's arm sticking out the back of the trunk.
The first posts today are more exciting that this story.
For one thing, it's only as reliable as your network. If you have a network problem such as a down switch/hub etc, you lose your disks immediately.
Of course a fiber channel SAN network has exactly the same properties.
Unlike SCSI and Fibre Channel, you can't boot from an iSCSI volume. This is because your operating system has to be loaded, and your TCP/IP stack initialized, before you can load the iSCSI driver. Most operating systems want to load their storage drivers before they load their networking drivers...
This is not true and has nothing to do with iSCSI but rather the iSCSI HBA. An iSCSI HBAs can have their own network stack which not only offloads the networking computes but also configures on its own.
By putting block level storage on your LAN, you've increased the capacity requirements by several orders of magnitude. To get any reasonable performance you're going to need Gigabit Ethernet everywhere -- and if you're going to make that kind of investment, you might as well be doing Fibre Channel.
Look at the figures. A 1Gb fiber channel switch costs roughly twich that of a 1GigE switch. 10GibE switchs are already available, while 10Gb FC still is being debated. The upgrade to GigE will happen naturally on a network. The cost of the switches are ammortized over the network and the switches are cheaper because they don't serve a specialized data center market.
What's incredible about these ads is that they have that "retro futuristic" theme. Watching them now, you still feel like you are witnessing something from the future. Plus, bonus Phil Hartman.
I could hear the $ka..ching $kaa..ching $ka..ching sound as the orbiting vegitable garden flickered across the sky.
dop it is a paid for slot! What a joke. And there site got /.'d too.
How do we know this isn't a paid spot? It wouldn't suprize me if /. started selling front page stories.
I agree. The article was bad news. What the article fails to understand is that what my opinion or this guy's views of the GPL is is irrelevant. It is the opinion of a judge someday to decide the fate of Intellectual Property that links or otherwises uses GPL (and even LGPL) code. This is the fear that companies face with the GPL, uncertainty.
Prior art only applies to working implementation that are "before" the patent was issued.
suing the onion for patent infringement.