From 53d3243005f49ad23552468aea14019a5c1d5203 Mon Sep 17 00:00:00 2001 From: "Natalia.Murycheva" Date: Sat, 7 Dec 2024 01:10:49 +0100 Subject: [PATCH] [PyCharm Tables] PY-33448 PyCharm freezes with large objects in SciView #PY-33448 Fixed * Transposed 1-D numpy array on the Python side of the Debugger * Applied setMaxItemsForSizeCalculation method to the myRowHeader table to minimize calculations for getRowHeight (cherry picked from commit f88fa625f2d8673cba2c9819f2907462b3f2301d) GitOrigin-RevId: de6f919f18caec6624b1696790a88e10659e96f0 --- .../pydev/_pydevd_bundle/pydevd_vars.py | 19 +++++-------------- .../env/debug/PythonDataViewerTest.java | 2 +- 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/python/helpers/pydev/_pydevd_bundle/pydevd_vars.py b/python/helpers/pydev/_pydevd_bundle/pydevd_vars.py index c4907f6ea89f..b258f28134a1 100644 --- a/python/helpers/pydev/_pydevd_bundle/pydevd_vars.py +++ b/python/helpers/pydev/_pydevd_bundle/pydevd_vars.py @@ -630,20 +630,11 @@ def array_to_meta_xml(array, name, format): # http://stackoverflow.com/questions/16837946/numpy-a-2-rows-1-column-file-loadtxt-returns-1row-2-columns # explanation: http://stackoverflow.com/questions/15165170/how-do-i-maintain-row-column-orientation-of-vectors-in-numpy?rq=1 # we use kind of a hack - get information about memory from C_CONTIGUOUS - is_row = array.flags['C_CONTIGUOUS'] - - if is_row: - rows = 1 - cols = len(array) - if cols < len(array): - reslice = '[0:%s]' % (cols) - array = array[0:cols] - else: - cols = 1 - rows = len(array) - if rows < len(array): - reslice = '[0:%s]' % (rows) - array = array[0:rows] + cols = 1 + rows = len(array) + if rows < len(array): + reslice = '[0:%s]' % (rows) + array = array[0:rows] elif l == 2: rows = array.shape[-2] cols = array.shape[-1] diff --git a/python/testSrc/com/jetbrains/env/debug/PythonDataViewerTest.java b/python/testSrc/com/jetbrains/env/debug/PythonDataViewerTest.java index 5032e72602f1..997643c55084 100644 --- a/python/testSrc/com/jetbrains/env/debug/PythonDataViewerTest.java +++ b/python/testSrc/com/jetbrains/env/debug/PythonDataViewerTest.java @@ -179,7 +179,7 @@ public class PythonDataViewerTest extends PyEnvTestCase { runPythonTest(new PyDataFrameDebuggerTask("/debug", "test_sci_data_with_complex_numbers.py", Collections.singleton(2)) { @Override public void testing() throws Exception { - doTest("arr", 1, 10, chunk -> { + doTest("arr", 10, 1, chunk -> { assertEquals("(9.000000000000001e-09+1.8000000000000002e-08j)", chunk.getMax()); assertEquals("0j", chunk.getMin()); });