From 48c725b5ea4e5349791e5eff8866b8bee60a6377 Mon Sep 17 00:00:00 2001 From: Scott Sanderson Date: Wed, 26 Oct 2016 23:49:48 -0400 Subject: [PATCH] PERF: Call concatenate directly instead of hstack. Avoids a couple function calls in a hot path. --- zipline/data/history_loader.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/zipline/data/history_loader.py b/zipline/data/history_loader.py index 91137d10..06f29463 100644 --- a/zipline/data/history_loader.py +++ b/zipline/data/history_loader.py @@ -18,8 +18,8 @@ from abc import ( abstractproperty, ) +from numpy import concatenate from lru import LRU -from numpy import hstack from pandas import isnull from pandas.tslib import normalize_date from toolz import sliding_window @@ -522,7 +522,11 @@ class HistoryLoader(with_metaclass(ABCMeta)): field, is_perspective_after) end_ix = self._calendar.get_loc(dts[-1]) - return hstack([window.get(end_ix) for window in block]).round(3) + + return concatenate( + [window.get(end_ix) for window in block], + axis=1, + ).round(3) class DailyHistoryLoader(HistoryLoader):