Thread overview
How to use "cpuid" in tango?
Sep 11, 2008
Benji Smith
Sep 11, 2008
Lars Ivar Igesund
Sep 11, 2008
Benji Smith
Sep 11, 2008
Sean Kelly
September 11, 2008
I went looking for the cpuid functionality in tango, and I found this:

http://dsource.org/projects/tango/browser/trunk/lib/compiler/dmd/util/cpuid.d

...which is a verbatim copy of the phobos implementation, and it's exactly what a want. But it's in the compiler support library, with stuff like aaA.d and obj.d. It seems like these bits of code of deliberately (and deservedly) out of reach for user code.

I can copy the cpuid.d file into my own project (which is actually what I've been doing so far), but it seems like a very clunky way of doing things.

Any tips?

--benji
September 11, 2008
Benji Smith wrote:

> I went looking for the cpuid functionality in tango, and I found this:
> 
>
http://dsource.org/projects/tango/browser/trunk/lib/compiler/dmd/util/cpuid.d
> 
> ...which is a verbatim copy of the phobos implementation, and it's exactly what a want. But it's in the compiler support library, with stuff like aaA.d and obj.d. It seems like these bits of code of deliberately (and deservedly) out of reach for user code.
> 
> I can copy the cpuid.d file into my own project (which is actually what I've been doing so far), but it seems like a very clunky way of doing things.

It isn't meant not to be used, the interface to expose it to users just haven't been added yet. There should be a relevant ticket :)


-- 
Lars Ivar Igesund
blog at http://larsivi.net
DSource, #d.tango & #D: larsivi
Dancing the Tango
September 11, 2008
Lars Ivar Igesund wrote:
> Benji Smith wrote:
> 
>> I went looking for the cpuid functionality in tango, and I found this:
>>
>>
> http://dsource.org/projects/tango/browser/trunk/lib/compiler/dmd/util/cpuid.d
>> ...which is a verbatim copy of the phobos implementation, and it's
>> exactly what a want. But it's in the compiler support library, with
>> stuff like aaA.d and obj.d. It seems like these bits of code of
>> deliberately (and deservedly) out of reach for user code.
>>
>> I can copy the cpuid.d file into my own project (which is actually what
>> I've been doing so far), but it seems like a very clunky way of doing
>> things.
> 
> It isn't meant not to be used, the interface to expose it to users just
> haven't been added yet. There should be a relevant ticket :)

Yep, sure enough, there's a ticket:

http://dsource.org/projects/tango/ticket/371

I should have searched for it first. Sorry to pester.

--benji
September 11, 2008
Benji Smith wrote:
> Lars Ivar Igesund wrote:
>> Benji Smith wrote:
>>
>>> I went looking for the cpuid functionality in tango, and I found this:
>>>
>>>
>> http://dsource.org/projects/tango/browser/trunk/lib/compiler/dmd/util/cpuid.d 
>>
>>> ...which is a verbatim copy of the phobos implementation, and it's
>>> exactly what a want. But it's in the compiler support library, with
>>> stuff like aaA.d and obj.d. It seems like these bits of code of
>>> deliberately (and deservedly) out of reach for user code.
>>>
>>> I can copy the cpuid.d file into my own project (which is actually what
>>> I've been doing so far), but it seems like a very clunky way of doing
>>> things.
>>
>> It isn't meant not to be used, the interface to expose it to users just
>> haven't been added yet. There should be a relevant ticket :)
> 
> Yep, sure enough, there's a ticket:
> 
> http://dsource.org/projects/tango/ticket/371
> 
> I should have searched for it first. Sorry to pester.

No problem.  The cpuid module you found was actually added to support the new array operations, much as 'utf' in the same package is present to support foreach UTF conversions, etc.  In short, the stuff you see in lib/compiler/dmd/util is support code for the DMD runtime--another runtime may not need the same code to provide the same features.

However, I do like the idea of adding a cpuid module to Tango. Particularly with Don's latest stuff for obtaining cache info.  So one will be added in user-space at some point.


Sean