Changeset: 114f9d2eb317 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=114f9d2eb317
Added Files:
        monetdb5/extras/pyapi/Benchmarks/Output/ByteArrayObject vs 
StringObjectData Size (100 MB).pdf
        monetdb5/extras/pyapi/Benchmarks/Output/Input (Both).pdf
        monetdb5/extras/pyapi/Benchmarks/Output/Input-Map.pdf
        monetdb5/extras/pyapi/Benchmarks/Output/Input-Null.pdf
        monetdb5/extras/pyapi/Benchmarks/Output/Input.pdf
        monetdb5/extras/pyapi/Benchmarks/Output/Multithreading TestData Size (1 
MB).pdf
        monetdb5/extras/pyapi/Benchmarks/Output/Output.pdf
        monetdb5/extras/pyapi/Benchmarks/Output/Quantile Speedtest.pdf
        monetdb5/extras/pyapi/Benchmarks/Output/String Extremelength(100000 
Strings).pdf
        monetdb5/extras/pyapi/Benchmarks/Output/String SamelengthData Size (1 
MB).pdf
        monetdb5/extras/pyapi/Benchmarks/Output/Unicode Check vs Always Unicode 
(ASCII)String Length (10 Characters).pdf
        monetdb5/extras/pyapi/Benchmarks/Output/Unicode Check vs Always Unicode 
(ASCII)String Length (100 Characters).pdf
        monetdb5/extras/pyapi/Benchmarks/Output/Unicode Check vs Always Unicode 
(Extreme)String Length (10 Characters).pdf
        monetdb5/extras/pyapi/Benchmarks/Output/Unicode Check vs Always Unicode 
(Extreme)String Length (100 Characters).pdf
        monetdb5/extras/pyapi/Benchmarks/Output/input_copy_null.tsv
        monetdb5/extras/pyapi/Benchmarks/Output/input_zerocopy_null.tsv
        monetdb5/extras/pyapi/Benchmarks/Output/multithreading.tsv
        monetdb5/extras/pyapi/Benchmarks/Output/quantile_monetdb.tsv
        monetdb5/extras/pyapi/Benchmarks/Output/quantile_python.tsv
        monetdb5/extras/pyapi/Benchmarks/Output/quantile_r.tsv
        sql/backends/monet5/Tests/pyapi15.sql
        sql/backends/monet5/Tests/rapi14.sql
Removed Files:
        monetdb5/extras/pyapi/Benchmarks/Output/Input
Modified Files:
        monetdb5/extras/pyapi/Benchmarks/Output/input_copy.tsv
        monetdb5/extras/pyapi/Benchmarks/Output/input_zerocopy.tsv
        monetdb5/extras/pyapi/Benchmarks/Output/input_zerocopy_map.tsv
        monetdb5/extras/pyapi/Benchmarks/Output/output_copy.tsv
        monetdb5/extras/pyapi/Benchmarks/Output/output_zerocopy.tsv
        monetdb5/extras/pyapi/Benchmarks/Output/string_bytearrayobject.tsv
        monetdb5/extras/pyapi/Benchmarks/Output/string_stringobject.tsv
        monetdb5/extras/pyapi/Benchmarks/Output/string_unicode_ascii_always.tsv
        monetdb5/extras/pyapi/Benchmarks/Output/string_unicode_ascii_check.tsv
        
monetdb5/extras/pyapi/Benchmarks/Output/string_unicode_extreme_always.tsv
        monetdb5/extras/pyapi/Benchmarks/Output/string_unicode_extreme_check.tsv
        monetdb5/extras/pyapi/Benchmarks/graph.py
        monetdb5/extras/pyapi/Benchmarks/monetdb_testing.py
        monetdb5/extras/pyapi/Benchmarks/pyapi_test.sh
        monetdb5/extras/pyapi/benchmark.c
        monetdb5/extras/pyapi/lazyarray.c
        monetdb5/extras/pyapi/pyapi.c
        monetdb5/extras/pyapi/type_conversion.c
Branch: pyapi
Log Message:

Added more benchmarks and testcases and fixed a few memory leaks.


diffs (truncated from 7709 to 300 lines):

diff --git a/monetdb5/extras/pyapi/Benchmarks/Output/ByteArrayObject vs 
StringObjectData Size (100 MB).pdf 
b/monetdb5/extras/pyapi/Benchmarks/Output/ByteArrayObject vs StringObjectData 
Size (100 MB).pdf
new file mode 100644
index 
e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..e882e6e176ae34b6fa045478d63cf5ec7128b836
GIT binary patch
literal 34989
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
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to