It seems that epoll-shim can help to mitigate this issue without much code.
вт, 14 мар. 2023 г. в 21:11, Ivan Daschinsky <ivanda...@gmail.com>: > Yep, it has been broken since the introduction of epoll in the network > code. So kqueue support needs to be implemented. > > вт, 14 мар. 2023 г. в 19:22, Stephen Darlington < > stephen.darling...@gridgain.com>: > >> Macs don’t have epoll, so it doesn’t compile currently. >> >> On 14 Mar 2023, at 16:02, Igor Sapego <isap...@apache.org> wrote: >> >> 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 >>> >> >> > > -- > Sincerely yours, Ivan Daschinskiy > -- Sincerely yours, Ivan Daschinskiy