Skip to content

Instantly share code, notes, and snippets.

@jcrist
Created November 17, 2016 00:29
Show Gist options
  • Save jcrist/b785a193d6c099385f08c8001a88dcb5 to your computer and use it in GitHub Desktop.
Save jcrist/b785a193d6c099385f08c8001a88dcb5 to your computer and use it in GitHub Desktop.
import datetime
import dask
from dask.multiprocessing import get as mp_get
from dask import delayed
from lxml import etree
from multiprocessing import Pool
N = 10000
num_workers = 4
vast_xml = """<VAST version="2.0">
<Ad id="static">
<InLine>
<AdSystem>Static VAST Template</AdSystem>
<AdTitle>Static VAST Tag</AdTitle>
<Impression>http://example.com/pixel.gif</Impression>
<Creatives>
<Creative>
<Linear>
<Duration>00:00:08</Duration>
<TrackingEvents>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="start">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
<Tracking event="firstQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="midpoint">http://example.com/pixel.gif</Tracking>
<Tracking event="thirdQuartile">http://example.com/pixel.gif</Tracking>
<Tracking event="complete">http://example.com/pixel.gif</Tracking>
<Tracking event="pause">http://example.com/pixel.gif</Tracking>
<Tracking event="mute">http://example.com/pixel.gif</Tracking>
<Tracking event="fullscreen">http://example.com/pixel.gif</Tracking>
</TrackingEvents>
<VideoClicks>
<ClickThrough>http://www.jwplayer.com/</ClickThrough>
<ClickTracking>http://example.com/pixel.gif</ClickTracking>
</VideoClicks>
<MediaFiles>
<MediaFile type="video/mp4" bitrate="300" width="480" height="270">
http://example.com/uploads/myPrerollVideo.mp4
</MediaFile>
</MediaFiles>
</Linear>
</Creative>
</Creatives>
</InLine>
</Ad>
</VAST>"""
def parse_xml(the_xml):
parsed = etree.fromstring(the_xml)
modified = modify_xml(parsed)
to_string(modified)
def modify_xml(root):
duration = root.xpath('/VAST/Ad/InLine/Creatives/Creative/Linear/Duration')
duration[0].text = "01:00:00"
tevents = root.xpath('/VAST/Ad/InLine/Creatives/Creative/Linear/TrackingEvents')
tevents[0].text = "Events"
return root
def to_string(xml):
etree.tostring(xml)
def process_sync():
t1 = datetime.datetime.utcnow()
results = []
for i in range(N):
results.append(parse_xml(vast_xml))
t2 = datetime.datetime.utcnow() - t1
print("Single threaded time is: {}".format(t2.total_seconds()))
def process_dask():
t1 = datetime.datetime.utcnow()
results = []
for _ in range(N):
results.append(delayed(parse_xml)(vast_xml))
dask.compute(*results, get=mp_get)
t2 = datetime.datetime.utcnow() - t1
print("Dask time is: {}".format(t2.total_seconds()))
def process_mp(pool):
t1 = datetime.datetime.utcnow()
pool.map(parse_xml, [vast_xml] * N)
t2 = datetime.datetime.utcnow() - t1
print("MP Pool time is: {}".format(t2.total_seconds()))
def parse_many(data):
return [parse_xml(i) for i in data]
def process_dask2():
"""A batched version of your dask.delayed code, to send multiple strings
together"""
from toolz import partition_all
t1 = datetime.datetime.utcnow()
results = []
f = delayed(parse_many, pure=False)
data = [vast_xml] * N
chunks = [f(part) for part in partition_all(4, data)]
results = sum(dask.compute(*chunks, get=mp_get), [])
t2 = datetime.datetime.utcnow()
print("Dask2 time is: {}".format((t2 - t1).total_seconds()))
def process_bag():
"""Using dask.bag"""
import dask.bag as db
t1 = datetime.datetime.utcnow()
b = db.from_sequence([vast_xml] * N, npartitions=num_workers)
b2 = b.map(parse_xml)
t2 = datetime.datetime.utcnow()
b2.compute()
t3 = datetime.datetime.utcnow()
print("Dask.bag graph build time is: {}".format((t2 - t1).total_seconds()))
print("Dask.bag compute time is: {}".format((t3 - t2).total_seconds()))
def process_bag2():
"""Using dask.bag, with a trick to avoid hashing the data"""
import dask.bag as db
from toolz import partition_all
t1 = datetime.datetime.utcnow()
data = [vast_xml] * N
chunks = [delayed(part) for part in partition_all(4, data)]
b = db.from_delayed(chunks)
b2 = b.map(parse_xml)
t2 = datetime.datetime.utcnow()
b2.compute()
t3 = datetime.datetime.utcnow()
print("Dask.bag2 graph build time is: {}".format((t2 - t1).total_seconds()))
print("Dask.bag2 compute time is: {}".format((t3 - t2).total_seconds()))
if __name__ == '__main__':
# Create a pool only once
pool = Pool(4)
dask.set_options(pool=pool)
process_sync()
process_mp(pool)
process_dask()
process_dask2()
process_bag()
process_bag2()
@jcrist
Copy link
Author

jcrist commented Nov 17, 2016

Running this on my mac gives:

Single threaded time is: 17.553844
MP Pool time is: 4.966894
Dask time is: 12.075593
Dask2 time is: 7.081212
Dask.bag graph build time is: 5.739932
Dask.bag compute time is: 5.469538
Dask.bag2 graph build time is: 0.120378
Dask.bag2 compute time is: 6.665346

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment