2015-04-28 11:16:13 Wander Lairson Costa <wander.lairson@gm...>:
>> Should that name just be added to the big list o' names already
>> in libusb0.py _load_library()? Or check for sys.platform == 'sunos5'
>> and define a different _load_library that knows the right path? Or
>> some other approach?

> Sorry, you commented this in the patch and I completely forgot
> to answer it. I think the simplest solution would be to add it
> to the list of candidates.

Looking more closely, it wouldn't need added to the candidate list,
because it's called libusb.so and "usb" is already a candidate. It
would be found if it were in a more usual directory, but not in
/usr/sfw/lib. I was working on Solaris 10; possibly Solaris 11 has
moved it to solve that problem, as
https://www.mail-archive.com/opensolaris-arc@mail.opensolaris.org/msg13077.html
suggests.

> He doesn't necessarily need to rewrite the app in C, but he
> can write a faster backend. I am not worried about optimization
> right now, but guessing common paths seems like a smart and simple
> optimization.

I looked more at where the external processes he complained of get run,
and sure enough, it's in ctypes.util.find_library. It /unconditionally/
tries to run expensive stuff like gcc or objdump to "find" your argument,
even if you pass a full path. (oh yes, another thing that wasn't working:
the /usr/sfw/bin/gcc on solaris actually does know to look in /usr/sfw/lib,
but it uses the Solaris ld. The ctypes.util.find_library code assumes GNU ld
with a -t option to write all the found file names as it sees them, but -t
to solaris ld means something else altogether.)

I don't really feel like also writing patches for ctypes, but I think it
probably would be a good optimization here to just try a few common
full paths before falling back to the ctypes.util.find_library. It might
just plain work better, in addition to solving the whole startup delay
issue that made that blogger think he had to port everything to C. :)

I'll think about how a patch would look....

-Chap

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
pyusb-users mailing list
pyusb-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pyusb-users

Reply via email to