Unfortunately, we do not have Mac agents, so we can not detect when compilation on Mac OS is broken, so yeah...
Best Regards, Igor On Tue, Mar 14, 2023 at 2:48 PM Ivan Daschinsky <ivanda...@gmail.com> wrote: > An ignite odbc driver works well on linux and windows OSes, but it seems > that it is impossible to compile it on Mac OS. > > вт, 14 мар. 2023 г. в 14:47, Ivan Daschinsky <ivanda...@gmail.com>: > >> Hi, Dren! >> >> Unfortunatelly, pyignite doesn't have an efficient native serialization >> library, whereas psycopg2 has (it is a thin wrapper around libpq). >> >> I would suggest two options: >> 1. Reduce a default batch size like this : `client.sql("SELECT * FROM >> TABLE", page_size=10)`. Default 1024 seems too big and parsing of such a >> big response seems to be really slow. >> 2. Use ignite odbc driver and pyodbc over it. Both of them work pretty >> well. >> >> вт, 14 мар. 2023 г. в 14:10, Dren Butković <dren.butko...@gmail.com>: >> >>> >>> Ignite and py client versions: >>> >>> - Apache Ignite 2.13.0 >>> - pyignite 0.5.2 >>> >>> On Tue, Mar 14, 2023 at 11:46 AM Zhenya Stanilovsky via user < >>> user@ignite.apache.org> wrote: >>> >>>> Hi, plz append ignite and py client versions. >>>> >>>> >>>> Hi, >>>> >>>> I made a speed comparison of retrieving data from Apache Ignite using >>>> several methods. All records are in one table, I did not use any WHERE >>>> condition, only a SELECT * FROM TABLE XYZ LIMIT 20000. >>>> >>>> Test results are: >>>> Apache Ignite >>>> >>>> - Apache Ignite REST API - 0.52 seconds >>>> - JDBC - 4 seconds >>>> - Python pyignite - 40 seconds !!! >>>> >>>> pseudocode in Python using pyignite: >>>> >>>> client = Client(username="ignite", password="pass", use_ssl=False) >>>> client.connect('localhost', 10800) >>>> >>>> cursor=client.sql('SELECT * FROM TABLE_XYZ LIMIT 20000')for row in cursor: >>>> pass >>>> >>>> After that I made a speed comparison of retrieving data from PostgreSQL >>>> using JDBC and psycopg2 Python package. SQL select is same, SELECT * FROM >>>> TABLE XYZ LIMIT 20000 >>>> PostgreSQL >>>> >>>> - JDBC - 3 seconds >>>> - Python psycopg2 using fetchall - 3 seconds >>>> - Python psycopg2 using fetchone - 4 seconds >>>> >>>> pseudocode in Python using psycopg2: >>>> >>>> import psycopg2 >>>> >>>> conn = psycopg2.connect(database=DB_NAME, >>>> user=DB_USER, >>>> password=DB_PASS, >>>> host=DB_HOST, >>>> port=DB_PORT) >>>> >>>> cur = conn.cursor() >>>> cur.execute("SELECT * FROM TABLE_XYZ LIMIT 20000") >>>> rows = cur.fetchall()for data in rows: >>>> pass >>>> >>>> I can conclude that the pyignite implementation has much worse >>>> performance compared to psycopg2 tests. The performance difference on >>>> PostgreSQL between Java JDBC and Python psycopg2 is negligible. >>>> >>>> The performance difference on Apache Ignite between Java JDBC and >>>> Python pyignite is very big. >>>> >>>> Please if someone can comment on the tests, did I do something wrong or >>>> are these results expected? How can such large differences in execution >>>> times be explained? Do you have any suggestions to get better results using >>>> pyignite? >>>> >>>> Thank you >>>> >>>> >>>> >>>> >>>> >>>> >>> >> >> -- >> Sincerely yours, Ivan Daschinskiy >> > > > -- > Sincerely yours, Ivan Daschinskiy >