SourceForge logo
SourceForge logo
Menu

matplotlib-devel — matplotlib developers

You can subscribe to this list here.

2003 Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
(1)
Nov
(33)
Dec
(20)
2004 Jan
(7)
Feb
(44)
Mar
(51)
Apr
(43)
May
(43)
Jun
(36)
Jul
(61)
Aug
(44)
Sep
(25)
Oct
(82)
Nov
(97)
Dec
(47)
2005 Jan
(77)
Feb
(143)
Mar
(42)
Apr
(31)
May
(93)
Jun
(93)
Jul
(35)
Aug
(78)
Sep
(56)
Oct
(44)
Nov
(72)
Dec
(75)
2006 Jan
(116)
Feb
(99)
Mar
(181)
Apr
(171)
May
(112)
Jun
(86)
Jul
(91)
Aug
(111)
Sep
(77)
Oct
(72)
Nov
(57)
Dec
(51)
2007 Jan
(64)
Feb
(116)
Mar
(70)
Apr
(74)
May
(53)
Jun
(40)
Jul
(519)
Aug
(151)
Sep
(132)
Oct
(74)
Nov
(282)
Dec
(190)
2008 Jan
(141)
Feb
(67)
Mar
(69)
Apr
(96)
May
(227)
Jun
(404)
Jul
(399)
Aug
(96)
Sep
(120)
Oct
(205)
Nov
(126)
Dec
(261)
2009 Jan
(136)
Feb
(136)
Mar
(119)
Apr
(124)
May
(155)
Jun
(98)
Jul
(136)
Aug
(292)
Sep
(174)
Oct
(126)
Nov
(126)
Dec
(79)
2010 Jan
(109)
Feb
(83)
Mar
(139)
Apr
(91)
May
(79)
Jun
(164)
Jul
(184)
Aug
(146)
Sep
(163)
Oct
(128)
Nov
(70)
Dec
(73)
2011 Jan
(235)
Feb
(165)
Mar
(147)
Apr
(86)
May
(74)
Jun
(118)
Jul
(65)
Aug
(75)
Sep
(162)
Oct
(94)
Nov
(48)
Dec
(44)
2012 Jan
(49)
Feb
(40)
Mar
(88)
Apr
(35)
May
(52)
Jun
(69)
Jul
(90)
Aug
(123)
Sep
(112)
Oct
(120)
Nov
(105)
Dec
(116)
2013 Jan
(76)
Feb
(26)
Mar
(78)
Apr
(43)
May
(61)
Jun
(53)
Jul
(147)
Aug
(85)
Sep
(83)
Oct
(122)
Nov
(18)
Dec
(27)
2014 Jan
(58)
Feb
(25)
Mar
(49)
Apr
(17)
May
(29)
Jun
(39)
Jul
(53)
Aug
(52)
Sep
(35)
Oct
(47)
Nov
(110)
Dec
(27)
2015 Jan
(50)
Feb
(93)
Mar
(96)
Apr
(30)
May
(55)
Jun
(83)
Jul
(44)
Aug
(8)
Sep
(5)
Oct
Nov
(1)
Dec
(1)
2016 Jan
Feb
Mar
(1)
Apr
May
Jun
(2)
Jul
Aug
(3)
Sep
(1)
Oct
(3)
Nov
Dec
2017 Jan
Feb
(5)
Mar
Apr
May
Jun
Jul
(3)
Aug
Sep
(7)
Oct
Nov
Dec
2018 Jan
Feb
Mar
Apr
May
Jun
Jul
(2)
Aug
Sep
Oct
Nov
Dec
S M T W T F S

1
(7)
2
(7)
3
(5)
4
(3)
5
(2)
6
(10)
7
(1)
8
(3)
9
(4)
10
(4)
11
(2)
12
(1)
13
(1)
14
15
16
17
(6)
18
(6)
19
(1)
20
(11)
21
(18)
22
(17)
23
(3)
24
(19)
25
26
27
28
29
30
(1)
31
(15)



Showing 1 results of 1

From: Michael D. <md...@st...> - 2013年07月30日 21:28:54
As promised in last week's Google Hangout to the IPython developers 
meeting -- I have some concrete timings and numbers on the matplotlib 
WebAgg backend in a couple of different scenarios.
First, let me apologize -- the way I was timing binary websockets vs. 
text websockets previously was wrong. The actual impact of it is much 
smaller than I had originally estimated -- so the discussion about 
whether to include binary websockets in IPython may have been all for 
naught.
For benchmarking, I used two different plots. One is the classic 
"simple_plot.py" sine wave, which tests sort of the "easy case" where 
very little of the image is updated in each frame, and the other was 
"animation/dynamic_image.py" in which most of the plot is updated in 
each frame.
I tested both scenarios with client and server on my local machine, and 
through an ssh tunnel that goes over wifi, the public university 
network, to my home's 15/5 MBps cable connection 28 miles away and back.
For (A), the average frame weighs in at around 20kb. For (B), it's 
around 90kb. For base64, multiply by those numbers by 4 / 3.
On my local machine, I can push through about 18 fps, so a bandwidth of 
2.8MBps (were it sustained, which it rarely is). On the tunnel, I 
fluctuate between 7 and 10 fps, which is quite usable, and quite near 
the practical upper limit on the bandwidth of that connection.
However, the problematic thing for the remote connection is the 
latency. Locally, I average a fairly steady 250ms to roundtrip from a 
mouse event to an updated frame. Remotely, it fluctuates randomly 
between 400ms (still usable) and 3000ms. Some more careful dynamic 
scaling of events can probably make that easier to use, perhaps. I know 
games often use UDP and handle robustness to packet loss in a different 
way as a way to remove some of the latency of TCP. I have no idea if 
such a thing would be possible over a web socket, of course.
I could not measure any statistically significant change in framerate or 
latency between a binary websocket and a non-binary one. However, there 
is a 10% increase in CPU time on both the python side and the browser. 
It so happens that I wasn't saturating my CPU, so it had no net impact. 
Likewise, I am not saturating my bandwidth, so the additional size 
doesn't matter in this case. But I suspect if either one of those 
resources is starved, the additional 10% cpu time and 25% bandwidth 
increase may matter.
Mike

Showing 1 results of 1

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.
Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /