Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Nov 2015 12:36:29 +1100
From:      Kubilay Kocak <koobs@FreeBSD.org>
To:        Vladimir Bogrecov <bogrecov@gmail.com>, python@freebsd.org, freebsd-virtualization@freebsd.org
Subject:   Re: Python on FreeBSD is slower than on Linux
Message-ID:  <56453E9D.3040809@FreeBSD.org>
In-Reply-To: <CANx%2B6QKT00ZC4Gh3UHp7qW6mtKJHLn_NkMD1gegTYgiu=gByXg@mail.gmail.com>
References:  <CANx%2B6QKT00ZC4Gh3UHp7qW6mtKJHLn_NkMD1gegTYgiu=gByXg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 13/11/2015 6: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!

>From FreeBSD Python's (team) point of view, I can't think of anything
obvious off the top of my head that might cause a ~30% performance issue
for that workload.

Let's get a trace (truss, strace, dtrace) of what's going during the run
so we can figure out exactly what's happening and in what context.

With respect to the testing environment, certain VPS providers throttle
bursts of CPU pretty heavily, so you'll want to account for/isolate that
as a potential contributor. Yes both OS's are being run on the same
provider, but as Alfred said, one OS may be mitigating/working around
certain virtualisation 'issues'.

A full trace of what the test case is doing is definitely the next best
step I can think of, even before profiling in python, which is probably
going to provide insight as well.

Personally, I'd love to hear about anything that might result in FreeBSD
always topping the charts for Python performance.

./koobs




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?56453E9D.3040809>