Python on FreeBSD is slower than on Linux

Mark Blackman mark at exonetric.com
Fri Nov 13 08:49:12 UTC 2015



> On 13 Nov 2015, at 08:08, Mark Blackman <mark at exonetric.com> wrote:
> 
>> On 12 Nov 2015, at 19:35, Alfred Perlstein <alfred at freebsd.org> wrote:
>> 
>> I'm adding Freebsd-virtualization to this thread as both problems point to some possible issue with FreeBSD as a guest.  (although a bare metal comparison should likely be done as well).
>> 
>> -Alfred
>> 
>>> On 11/12/15 11:26 AM, Vladimir Bogrecov wrote:
>>> Hello,
>>> 
>>> I'm developing a little project on Python 3.5. The server's operating
>>> system is FreeBSD 10.2. Today I decided to do a little test "just for fun"
>>> and the result has confused me. I ran the following code
>>> 
>>> import random
>>> import time
>>> 
>>> 
>>> def test_sort(size):
>>>    sequence = [i for i in range(0, size)]
>>>    random.shuffle(sequence)
>>>    start = time.time()
>>>    ordered_sequence = sorted(sequence)
>>>    print(time.time() - start)
>>> 
>>> 
>>> if __name__ == '__main__':
>>>    test_sort(1000000)
>>> 
>>> on FreeBSD 10.2 x64 and on Debian 8 x64. Both computers was the smallest
>>> (5$ per month) virtual machines on the Digital Ocean (
>>> https://www.digitalocean.com). The average result on the FreeBSD was 1.5
>>> sec, on the Debian 1.0 sec. Both machines was created specially for test
>>> and had not any customization. Could you help me to understand why python
>>> is so slower on FreeBSD and may be there are some steps I can perform to
>>> speed up the python to work not slower than on Debian.
>>> 
>>> I have found in Google the similar question:
>>> https://lists.freebsd.org/pipermail/freebsd-python/2012-June/004306.html so
>>> it has an interest not only for me.
>>> 
>>> P.S. I really like FreeBSD and I would be happy to solve this issue. If you
>>> will have an interest to this issue I can provide SSH access for both
>>> machines :)
>>> 
>>> Thank You!
> 
> I have some memory that the gettimeofday is quite expensive on FreeBSD as a result of substantially more accuracy and I reckon that test script is calling it about 2 million times.

Doh, never mind, misread the python. Just twice. :)


More information about the freebsd-virtualization mailing list