summaryrefslogtreecommitdiff
path: root/scipy/weave/examples/print_example.py
diff options
context:
space:
mode:
Diffstat (limited to 'scipy/weave/examples/print_example.py')
-rw-r--r--scipy/weave/examples/print_example.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/scipy/weave/examples/print_example.py b/scipy/weave/examples/print_example.py
new file mode 100644
index 000000000..4a0338983
--- /dev/null
+++ b/scipy/weave/examples/print_example.py
@@ -0,0 +1,40 @@
+import sys
+sys.path.insert(0,'..')
+import inline_tools
+
+import time
+
+def print_compare(n):
+ print 'Printing %d integers:'%n
+ t1 = time.time()
+ for i in range(n):
+ print i,
+ t2 = time.time()
+ py = (t2-t1)
+
+ # get it in cache
+ inline_tools.inline('printf("%d",i);',['i'])
+ t1 = time.time()
+ for i in range(n):
+ inline_tools.inline('printf("%d",i);',['i'])
+ t2 = time.time()
+ print ' speed in python:', py
+ print ' speed in c:',(t2 - t1)
+ print ' speed up: %3.2f' % (py/(t2-t1))
+
+def cout_example(lst):
+ # get it in cache
+ i = lst[0]
+ inline_tools.inline('std::cout << i << std::endl;',['i'])
+ t1 = time.time()
+ for i in lst:
+ inline_tools.inline('std::cout << i << std::endl;',['i'])
+ t2 = time.time()
+
+if __name__ == "__main__":
+ n = 3000
+ print_compare(n)
+ print "calling cout with integers:"
+ cout_example([1,2,3])
+ print "calling cout with strings:"
+ cout_example(['a','bb', 'ccc']) \ No newline at end of file