You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Underscores around text gives performance problems
I have discovered what appears to be a bug that can lead to rather severe
performance problems. The bug becomes evident when trying to "markdown"
strings similar to "_ _ _ _ _ _ text _ _ _ _ ". The easiest test case that
demonstrates this bug is the following code snippet: processor.markdown("
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ T");
After some testing, it seems like every additional "_ " BEFORE the "T" will
increase the time for "markdown" to execute doubles. When having 26 "_ "
(that is, underscore followed by space), the "markdown" takes about 100
seconds on my laptop. 25 "_ " takes around 50 seconds, and so on.
Below is the code snippet that can be used to reproduce the results.
If more details are needed, I can be contacted at Per Hallström [email protected].
From alex.coles on October 28, 2008 01:22:45
Underscores around text gives performance problems
I have discovered what appears to be a bug that can lead to rather severe
performance problems. The bug becomes evident when trying to "markdown"
strings similar to "_ _ _ _ _ _ text _ _ _ _ ". The easiest test case that
demonstrates this bug is the following code snippet: processor.markdown("
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ T");
After some testing, it seems like every additional "_ " BEFORE the "T" will
increase the time for "markdown" to execute doubles. When having 26 "_ "
(that is, underscore followed by space), the "markdown" takes about 100
seconds on my laptop. 25 "_ " takes around 50 seconds, and so on.
Below is the code snippet that can be used to reproduce the results.
If more details are needed, I can be contacted at Per Hallström
[email protected].
=== CODE ===
public void test2() {
String problematicPlaintext = "T";
for(int i=0;i<30;i++) {
long start = System.currentTimeMillis();
processor.markdown(problematicPlaintext);
long end = System.currentTimeMillis();
System.out.printf("i = %02d: %08d ms -- %56s\n", i,
(end-start), problematicPlaintext);
problematicPlaintext = "_ " + problematicPlaintext;
}
}
=== EXAMPLE OUTPUT ===
i = 15: 00000051 ms -- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
T
i = 16: 00000096 ms -- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
T
i = 17: 00000207 ms -- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
T
i = 18: 00000405 ms -- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
T
i = 19: 00000905 ms -- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
T
i = 20: 00001514 ms -- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
T
i = 21: 00003008 ms -- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
T
i = 22: 00006115 ms -- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
T
i = 23: 00012232 ms -- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
T
i = 24: 00024220 ms -- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
T
i = 25: 00048662 ms -- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
T
Original issue: http://code.google.com/p/markdownj/issues/detail?id=4
The text was updated successfully, but these errors were encountered: