[Numpy-discussion] Histograms of extremely large data sets
eric jones
eric at enthought.com
Wed Dec 13 22:35:38 CST 2006
Glad to here it worked for you.
see ya,
eric
Cameron Walsh wrote:
> Thanks very much, Eric. That line fixed it for me, although I'm still
> not sure why it broke with the last line.
>
> Your weave_histogram works a charm and is around 16 times faster than
> any of the other options I've tried. On my laptop it took 30 seconds
> to generate a histogram from 500 million numbers, which is fine.
>
> Thanks and best regards,
>
> Cameron.
>
>
> On 14/12/06, eric jones <eric at enthought.com> wrote:
>
>> Hmmm.
>>
>> ? Not sure. ?
>>
>> Change that line to this instead which should work as well.
>>
>> code = array_converter.declaration_code(self, templatize, inline)
>>
>> Both work for me.
>>
>> eric
>>
>> Cameron Walsh wrote:
>>
>>> On 13/12/06, Cameron Walsh <cameron.walsh at gmail.com> wrote:
>>>
>>>
>>>> On 13/12/06, eric jones <eric at enthought.com> wrote 290 lines of
>>>> awesome code and a fantastic explanation:
>>>>
>>>>
>>>>
>>>>> Hey Cameron,
>>>>>
>>>>> I wrote a simple weave based histogram function that should work for
>>>>> your problem. It should work for any array input data type. The needed
>>>>> files (and a few tests and examples) are attached.
>>>>>
>>>>>
>>> [...]
>>>
>>> Hi Eric,
>>>
>>> I've ran test_weave_histogram.py and histogram_speed.py, but each one
>>> seems to fail on calling typed_array_converter.declaration_code() as
>>> follows:
>>>
>>> Traceback (most recent call last):
>>> File "histogram_speed.py", line 26, in <module>
>>> res2 = histogram(data, bins)
>>> File "/home/cameron/repos/wavesmaker/trunk/code/gui/process_modules/eric_histo/weave_histogram.py",
>>> line 67, in histogram
>>> compiler='gcc')
>>> File "/usr/local/lib/python2.5/site-packages/scipy/weave/inline_tools.py",
>>> line 339, in inline
>>> **kw)
>>> File "/usr/local/lib/python2.5/site-packages/scipy/weave/inline_tools.py",
>>> line 447, in compile_function
>>> verbose=verbose, **kw)
>>> File "/usr/local/lib/python2.5/site-packages/scipy/weave/ext_tools.py",
>>> line 353, in compile
>>> kw,file = self.build_kw_and_file(location,kw)
>>> File "/usr/local/lib/python2.5/site-packages/scipy/weave/ext_tools.py",
>>> line 334, in build_kw_and_file
>>> file = self.generate_file(location=location)
>>> File "/usr/local/lib/python2.5/site-packages/scipy/weave/ext_tools.py",
>>> line 295, in generate_file
>>> code = self.module_code()
>>> File "/usr/local/lib/python2.5/site-packages/scipy/weave/ext_tools.py",
>>> line 203, in module_code
>>> self.function_code(),
>>> File "/usr/local/lib/python2.5/site-packages/scipy/weave/ext_tools.py",
>>> line 269, in function_code
>>> all_function_code += func.function_code()
>>> File "/usr/local/lib/python2.5/site-packages/scipy/weave/inline_tools.py",
>>> line 83, in function_code
>>> decl_code = indent(self.arg_declaration_code(),4)
>>> File "/usr/local/lib/python2.5/site-packages/scipy/weave/inline_tools.py",
>>> line 62, in arg_declaration_code
>>> arg_strings.append(arg.declaration_code(inline=1))
>>> File "/home/cameron/repos/wavesmaker/trunk/code/gui/process_modules/eric_histo/typed_array_converter.py",
>>> line 18, in declaration_code
>>> code = super(typed_array_converter, self).declaration_code(templatize,
>>> TypeError: super() argument 1 must be type, not classobj
>>>
>>> I've tried this with Python2.4 and Python2.5 with the same results.
>>>
>>> What do I need to change, since it seems to have worked for you but not for me.
>>>
>>> Thanks and best regards,
>>>
>>> Cameron.
>>> _______________________________________________
>>> Numpy-discussion mailing list
>>> Numpy-discussion at scipy.org
>>> http://projects.scipy.org/mailman/listinfo/numpy-discussion
>>>
>>>
>>>
>> _______________________________________________
>> Numpy-discussion mailing list
>> Numpy-discussion at scipy.org
>> http://projects.scipy.org/mailman/listinfo/numpy-discussion
>>
>>
> _______________________________________________
> Numpy-discussion mailing list
> Numpy-discussion at scipy.org
> http://projects.scipy.org/mailman/listinfo/numpy-discussion
>
>
More information about the Numpy-discussion
mailing list