"Truth never damages a cause that is just."
- Mahatma Gandhi
More pages: 1 ... 11 ... 21 ... 31 ... 41 ... 51 ... 61 ... 71 ... 81 ... 91 ... 101 ... 108 109 110 111 112 113 114 115 116 117 118 ... 121 ... 131 ... 141 ... 151 ... 161 ... 171 ... 181 ... 191 ... 201 ... 211 ... 221 ... 231 ... 241 ... 251 ... 261 ... 271 ... 281 ... 291 ... 301 ... 311 ... 321 ... 331 ... 341 ... 351 ... 361 ... 371 ... 381 ... 391 ... 401 ... 411 ... 421 ... 431 ... 438
Query FailedcDc
Saturday, April 9, 2011

Hi all,

Thanks Aslan for that smart implementation. I just played a bit with it on MSVC, here are some conclusions:

- VC2010 inline strings of max 254 chars (the link takes 18s on AMD X4 945 3GHz using only one core); bigger strings are split in an inline hash for the last 254 chars and a function call for the rest.

- VC2005 SP2 and VC2008 SP1 behave exactly the same (note: /O2 has to be specifically selected, even if it is activated by default in release; /O1 and /Ox are also good). Expanding manually one step the _Hash() function, decreases the linking time down to only 6s.

- g++ on Ubuntu 10.04 x86 doesn't seem able to inline the final value even with -O3 (though it expands the iteration).

There seems to be only one problem: the template can not be used two or more times (the hash value is not inlined anymore). Any idea why and how to force the linker to do its job?

The code I used:

class StringHash
{
private:
uint32_t m_val;

template<size_t N> inline uint32_t _Hash(const char (&str)[N]) const
{
typedef const char (&truncated_str)[N-1];
return str[N-1] + 65599 * _Hash((truncated_str)str);
}
inline uint32_t _Hash(const char (&str)[2]) const { return str[1] + 65599 * str[0]; }

public:
template <size_t N> StringHash(const char (&str)[N]) { m_val = _Hash(str); }
inline operator uint32_t() const { return m_val; }
};

Dwarden
Tuesday, April 5, 2011

oh, following now

BK
Tuesday, March 29, 2011

The reason why DX9 is still around is because it is in a sweet spot. It is supported by all gamers. It gives enough flexibility/programmability through shaders (SM3.0) It is familiar to many programmers. people have tons of code base on it. And the console market is on DX9 Level market. Once the new generation consoles roll out the market will probably move to DX11 or DX12.

Josh
Tuesday, March 22, 2011

I would argue that DX 10 and 11 are dead. Crysis 2 is being released as DX9 only. Yeah, yeah, they will add DX11 in a few months...the delay only proves it isn't a priority.

OpenGL 3 FTW. (GL4 isn't going to be supported in OSX Lion, it looks like).

Rob L.
Sunday, March 20, 2011

I for one find it very interesting to have a patent holder (I assume) making direct contact that isn't of the cease and desist kind. It's nice to get some feedback from "the other side", in my opinion.

So, in my book, you're welcome to share your knowledge as much as you like (and / or are allowed to), Mr. Donovan. That's what we're here for, right?

Best regards,

Rob

Walt Donovan
Saturday, March 19, 2011

Ugh. I didn't mention the patent with the intent of preventing people from using the idea in a present-day shader, but to give yet another example of good ideas being reinvented.

My apologies -- I won't mention anything else I might have invented.

Personally, I think software and business method patents and patents on DNA codes are an abhorrent use of the idea of patents. Software is mathematics, which cannot be patented. Business methods are analogous to software. And you didn't invent DNA, evolution did.

Again, let me apologize if in any way that patent prevents you from using the algorithm. You'd have to read exactly what was claimed, by the way, in order to determine if you are infringing. (That is, the similarity of the algorithms is irrelevant; what matters is the exact wording of the claims in the patent.)

Rob L.
Friday, March 18, 2011

It may be naive, but being a European developer I nearly ignore the very existence of software patents (with the exception of the occasional EU petition against them, which I of course sign). As long as the EU and the country in which I reside don't recognize software as "patentable", I feel safe.
So, because I don't develop software for the US retail market at the moment, I couldn't care less about them.

You are an EU citizen, the software you provide on this site is educational in nature and is for free, so why bother?
If you must, just ask a lawyer or maybe somebody at your employer, who can give you a general advise for free (which in this case is synonymous with buying that person lunch and / or beer ;^) ). Somebody surely does have to keep track of such issues there.

Well, keep up the good work and keep us updated should you find out about anything interesting about US patents in the EU. (Yes, I wrote I don't care, but that goes either way: knowing or not knowing about something.) ;^)

Best regards,

Rob


PS: I'm on Twitter now as well. And it's only because of your post. ;^p

PPS: I even tweeted you a link regarding the EU's stance on software patents.

Christian Nilsendahl
Friday, March 18, 2011

But can software patents hinder people from using the code in freeware or open source projects anywhere in the world? As long as there is no money involved, you can't get fined right?

More pages: 1 ... 11 ... 21 ... 31 ... 41 ... 51 ... 61 ... 71 ... 81 ... 91 ... 101 ... 108 109 110 111 112 113 114 115 116 117 118 ... 121 ... 131 ... 141 ... 151 ... 161 ... 171 ... 181 ... 191 ... 201 ... 211 ... 221 ... 231 ... 241 ... 251 ... 261 ... 271 ... 281 ... 291 ... 301 ... 311 ... 321 ... 331 ... 341 ... 351 ... 361 ... 371 ... 381 ... 391 ... 401 ... 411 ... 421 ... 431 ... 438