A simple test to show the difference in speed:
In [4]: conn = solr.SolrConnection('
http://localhost:8983/solr')
In [5]: %timeit conn.query('*:*')
10 loops, best of 3: 49.6 ms per loop
and after changing the line 728 in core.py from
#self.conn.request('POST', url, body.encode('UTF-8'), headers)
self.conn.request('GET', url+'?'+body.encode('UTF-8'),
headers=headers)
In [4]: %timeit conn.query('*:*')
100 loops, best of 3: 2.83 ms per loop
Actually profiling with cProfile showed that the slowdown seemed to be
due to httplib readline method with POST.