tungwaiyip.info

home

about me

links

my software

Media

Yucatán Photos

St Lucia Photos

Photo Album

Videos

Blog

< May 2010 >
SuMoTuWeThFrSa
       1
2 3 4 5 6 7 8
9101112131415
16171819202122
23242526272829
3031     

past articles »

Click for San Francisco, California Forecast

San Francisco, USA

 

Python CSV reader is much faster than pickle

If you are considering to serialize a large amount of data to the disk, performance may become a concern to you. Python provides a serialization tool in the pickle module. There is also an optimized version called the cPickle. But how do they perform?

The data of concern to me is tabular data. In order to do a bake off, I have generated 50,000 records of sample data. The CSV representation is shown below:

seq, name, address, city, age, birthday
1000,John M. Doe,2147 Main St.,Middle Town 14,47,1985-05-15
1001,John N. Doe,2148 Main St.,Middle Town 15,48,1985-05-16
1002,John O. Doe,2149 Main St.,Middle Town 16,49,1985-05-17
1003,John P. Doe,2150 Main St.,Middle Town 17,50,1985-05-18
1004,John Q. Doe,2151 Main St.,Middle Town 18,51,1985-05-19
1005,John R. Doe,2152 Main St.,Middle Town 19,52,1985-05-20
1006,John S. Doe,2153 Main St.,Middle Town 20,53,1985-05-21
1007,John T. Doe,211 Main St.,Middle Town 21,1,1985-05-22
...

Naturally, CSV is a contender for storing tabular data. (Indeed the data source I'm working with is in CSV format.) The two pickle modules produce identical data output. In addition, Python 2.6 also provides a JSON module that do the similar task as pickle but outputs a standard text based format. I included it in the comparison below.

First observation, CSV output the most compact data at 3MB. Pickle output is 40% larger at 4.2MB. JSON is somewhere in between. The speed? CSV is the winner among them all.


Method Load Time (ms) File size (MB)
CSV 188 3
CSV int 289 3
cPickle 692 4.2
pickle 1,815 4.2
JSON 4,975 3.9

Note that CSV reader create data items as string. In the sample data, two out of the six columns are integer fields. In order to do an apple-to-apple comparison I have another test that do integer conversion after loading such that the data loaded is identical to pickle's. This impacted the performance somewhat. But it is still more than twice as fast as the faster cPickle module. The standard library's JSON's performance trailing far behind, making it unsuitable for anything performance intensive. FYI, unlike the other modules, JSON's output is in unicode.

The test is done by Python 2.6 on Windows XP machine with 2.33GHz Core2 CPU (Download source code).


2010.05.12 [, ] - comments

 

 

blog comments powered by Disqus

past articles »

 

Kontagent

Kontagent is hiring software engineers

BBC News

 

Launch success for SpaceX mission (22 May 2012)

 

Euro 'threat' to global outlook (22 May 2012)

 

'Obscene' Zuma painting attacked (22 May 2012)

 

Nuclear watchdog eyes Iran deal (22 May 2012)

 

Sri Lanka 'must face war probes' (22 May 2012)

 

Chinese fakes 'used in US planes' (22 May 2012)

 

Anger over 'Reagan blood' auction (22 May 2012)

 

Terreblanche 'murder' verdict due (22 May 2012)

 

Deadly train crash in south India (22 May 2012)

 

Kodak faces patent ruling setback (22 May 2012)

more »

 

Slashdot News for nerds, stuff that matters

 

WHMCS Data Compromised By Good Old Social Engineering (2012-05-22T13:18:00+00:00)

 

SpaceX's Falcon 9 Successfully Reaches Orbit (2012-05-22T12:35:00+00:00)

 

US ISPs Delay Rollout of "Six Strikes" Copyright Enforcement Framework (2012-05-22T12:06:00+00:00)

 

EU Offers Google Chance To Settle Prior To Anti-Trust Enquiry (2012-05-22T09:03:00+00:00)

 

Judge Orders Verizon Subscriber Identities Sealed (2012-05-22T07:07:00+00:00)

 

DEA Wants To Install License Plate Scanners and Retain Data for Two Years (2012-05-22T04:08:00+00:00)

 

BSA Claims Half of PC Users Are Pirates (2012-05-22T02:05:00+00:00)

 

Emacsy: An Embeddable Toolkit of Emacs-like Functionality (2012-05-21T23:56:00+00:00)

more »

 

TechPsychic Tech Rumors and Invented News

 

TechPsychic: AT&T: more money, says it's disruptive in funding from. (08 May 2010)

 

TechPsychic: I know that Apple is close to Apple Dominates, Hires ex-Googler - Yes, Android phones. (08 May 2010)

 

TechPsychic: AT&T says: Facebook Connect. (08 May 2010)

 

TechPsychic: Google's Nexus One of Google Chrome Release Adds Support subscriptions accounted for Amazon: Apple. (08 May 2010)

 

TechPsychic: Another stat: Twitter's Design of this is giving rise of BlackBerry Foursquare Map App store end. (07 May 2010)

 

TechPsychic: Like educational sales Up around Apple iPad makes money Plan costs half an Apple. (07 May 2010)

 

TechPsychic: Instead added extensions, social Networks than double, everyone jumps in Silicon Valley? (07 May 2010)

 

TechPsychic: So why iTunes App lets Social Networks Verizon Wireless Internet. (07 May 2010)

more »

 

SF Gate

 

Murder arrest made in Sierra LaMar case (2012-05-22T13:53:07PDT)

 

Facebook IPO underscores shutting out the masses (2012-05-22T13:53:07PDT)

 

Presented By: (22 May 2012)

 

Goldman Sachs gains million from Facebook IPO (2012-05-22T13:53:07PDT)

 

Lee proposal backs middle-class housing in S.F. (2012-05-22T13:53:07PDT)

 

Warriors to build new arena, move back to S.F. (2012-05-22T13:53:07PDT)

 

Warriors hope big time lies across Bay Bridge (2012-05-22T13:53:07PDT)

 

Let's retire 'Golden State' (2012-05-22T13:53:07PDT)

 

Price-comparison services help cut medical costs (2012-05-22T13:31:24PDT)

 

Presented By: (21 May 2012)

 

Penthouse in N.Y. sets record price: million (2012-05-22T13:31:24PDT)

 

Chinese company to buy US movie theater chain AMC (2012-05-22T13:31:24PDT)

 

Russian energy czar Sechin take helm at Rosneft (2012-05-22T13:31:24PDT)

 

Oil slips to near as dollar gains on euro, yen (2012-05-22T13:31:24PDT)

more »

 

Asia Times Online

 

No settlement in sight for Thailand's south (22 May 2012)

 

Singapore, Hong Kong unite against 'locusts' (22 May 2012)

 

Lebanon's new wild card: Shaker al-Barjawi (22 May 2012)

 

INTERVIEW : The 'limitless horizon" of capitalism (22 May 2012)

 

North Korea's 'organizational life' in decline (22 May 2012)

 

NATO agrees to Afghan timetable (22 May 2012)

 

COMMENT : Ritualistic rhetoric in US sanctions (22 May 2012)

 

SPEAKING FREELY : Missing links in the Arab Spring (22 May 2012)

 

China trade move with Japan, Korea is Asian game-changer (22 May 2012)

 

Beijing-Taipei highway improbable but possible (22 May 2012)

 

Oil boost for Bangladesh (22 May 2012)

 

THE BEAR'S LAIR : The looting of savers (22 May 2012)

more »

 


Site feed Updated: 2012-May-22 07:00