<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://www.eiffelroom.com" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>eiffelroom - Extension performance comparison among lists - Comments</title>
 <link>http://www.eiffelroom.com/blog/ted_eiffel/extension_performance_comparison_among_lists</link>
 <description>Comments for &quot;Extension performance comparison among lists&quot;</description>
 <language>en</language>
<item>
 <title>That&#039;s a good point. I don&#039;t</title>
 <link>http://www.eiffelroom.com/blog/ted_eiffel/extension_performance_comparison_among_lists#comment-459</link>
 <description>&lt;p&gt;That&#039;s a good point. I don&#039;t disconnect items in the lists. So GC basically only collects objects that were temporarily used in the list operations, rather than those tuples. This part of GC should be taken into account when measuring their performance of those lists. However, if I do tests creating no new tuples, we know performance of lists in real applications should be in between.&lt;br /&gt;
 I thought about another GC problem. I am not sure how GC exactly acts between &amp;quot;full_collect&amp;quot;s. I thought the later list testing could be affected by previous ones, as some stack chunks in the runtime may already allocated by previous testing in the same application.&lt;/p&gt;

</description>
 <pubDate>Thu, 22 May 2008 08:59:02 -0700</pubDate>
 <dc:creator>ted_eiffel</dc:creator>
 <guid isPermaLink="false">comment 459 at http://www.eiffelroom.com</guid>
</item>
<item>
 <title>Time spent in GC?</title>
 <link>http://www.eiffelroom.com/blog/ted_eiffel/extension_performance_comparison_among_lists#comment-458</link>
 <description>&lt;p&gt;One problem with linked lists is that it creates many objects, so it will trigger more GC cycles. So the benchmarks may look totally different if the code is part of a real application which already has a lot of objects in memory.&lt;/p&gt;

&lt;p&gt;Speaking about the GC, if you just want to measure the data structure impact, it might be worth trying to always insert the same tuple object instead of creating a new one at each iteration.&lt;/p&gt;

</description>
 <pubDate>Thu, 22 May 2008 02:35:26 -0700</pubDate>
 <dc:creator>ericb</dc:creator>
 <guid isPermaLink="false">comment 458 at http://www.eiffelroom.com</guid>
</item>
<item>
 <title>Avoid reallocation</title>
 <link>http://www.eiffelroom.com/blog/ted_eiffel/extension_performance_comparison_among_lists#comment-457</link>
 <description>&lt;p&gt;You should avoid reallocation by allocating a large memory block initially. Try allocating one twice the size you need - despite the unused memory allocated, it should still be faster than the linked version. Colin Adams&lt;/p&gt;

</description>
 <pubDate>Wed, 21 May 2008 23:47:16 -0700</pubDate>
 <dc:creator>colin-adams</dc:creator>
 <guid isPermaLink="false">comment 457 at http://www.eiffelroom.com</guid>
</item>
<item>
 <title>Initial size.</title>
 <link>http://www.eiffelroom.com/blog/ted_eiffel/extension_performance_comparison_among_lists#comment-456</link>
 <description>&lt;p&gt;I didn&#039;t preallocate a size for arrayed lists. Firstly, I wanted to test the situation I completely don&#039;t know how many elements there would be. In practice, however, we can approximately evaluate the number of elements to be used. Secondly, yes, no doubt, the arrayed list is much faster and uses less memory, when known size is preallocated. That is an easy situation, if elements of the list are not frequently inserted/removed/moved, I choose that way without problem.&lt;br /&gt;
 Now even I don&#039;t preallocate size for arrayed lists, they seem faster when I know the number of elements is not too huge. That&#039;s to say, no matter if I preallocate the size, it is better to use arrayed lists as long as not many elements and no element moving around.&lt;br /&gt;
 When the number is very large, the big memory block reallocation is very slow for arrayed lists, so linked lists become faster since they only allocate small blocks of memory.&lt;/p&gt;

</description>
 <pubDate>Wed, 21 May 2008 17:55:17 -0700</pubDate>
 <dc:creator>ted_eiffel</dc:creator>
 <guid isPermaLink="false">comment 456 at http://www.eiffelroom.com</guid>
</item>
<item>
 <title>LINKED_LIST.extend and put_front ...</title>
 <link>http://www.eiffelroom.com/blog/ted_eiffel/extension_performance_comparison_among_lists#comment-455</link>
 <description>&lt;p&gt;LINKED_LIST.extend can have similar performance than LINKED_LIST.put_front if you take care of moving the cursor&lt;/p&gt;

&lt;p&gt;lst.extend (entry) lst.finish&lt;/p&gt;

&lt;p&gt;Otherwise, for each extend, it will search again for the last element. As far as arrayed list (or any fixed size), this is always much faster to initialize with the expected size, otherwise each time it resizes the underlying array, it will increase the size for its needs ... and then each time it is new allocation of memory.&lt;/p&gt;

</description>
 <pubDate>Wed, 21 May 2008 12:22:52 -0700</pubDate>
 <dc:creator>Jocelyn Fiat</dc:creator>
 <guid isPermaLink="false">comment 455 at http://www.eiffelroom.com</guid>
</item>
<item>
 <title>Initial sizes for arrayed lists</title>
 <link>http://www.eiffelroom.com/blog/ted_eiffel/extension_performance_comparison_among_lists#comment-453</link>
 <description>&lt;p&gt;These tests make linked lists look faster than arrayed lists. For arrayed lists, you should allocate the expected size - in this case the number of elements you are going to add.&lt;/p&gt;

&lt;p&gt;Then you should see a big difference.&lt;/p&gt;

&lt;p&gt;Colin Adams&lt;/p&gt;

</description>
 <pubDate>Wed, 21 May 2008 08:44:22 -0700</pubDate>
 <dc:creator>colin-adams</dc:creator>
 <guid isPermaLink="false">comment 453 at http://www.eiffelroom.com</guid>
</item>
<item>
 <title>Extension performance comparison among lists</title>
 <link>http://www.eiffelroom.com/blog/ted_eiffel/extension_performance_comparison_among_lists</link>
 <description>&lt;p&gt;I did a small app to benchmark extension performance of major Eiffel list data structures on my Win32 XP machine, using EiffelStudio 6.2.7.3489, Microsoft (R) 32-bit C/C++ Optimizing Compiler Version &lt;a href=&quot;http://14.00.50727.42&quot;&gt;14.00.50727.42&lt;/a&gt; for 80x86, Microsoft (R) Incremental Linker Version 8.00.50727.42.&lt;br /&gt;
 I extend [INTEGER, INTEGER] into the lists, and calculate time and memory usage (increase).&lt;br /&gt;
 &lt;strong&gt;Note&lt;/strong&gt;: I use `put_front&#039; instead of `extend&#039; in LINKED_LIST, because of the way `extend&#039; of LINKED_LIST is too slow to compare with others. 
&lt;h3 id=&quot;toc0&quot;&gt;Lists Benchmarked&lt;/h3&gt;
 &lt;div class=&quot;geshifilter eiffel&quot; style=&quot;font-family: monospace;&quot;&gt;DS_LINKED_LIST &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;Gobo &lt;span style=&quot;color: #FF0000;&quot;&gt;3.8&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
DS_ARRAYED_LIST &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;Gobo &lt;span style=&quot;color: #FF0000;&quot;&gt;3.8&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+LINKED_LIST&amp;btnI=I%27m+Feeling+Lucky&quot;&gt;&lt;span style=&quot;color: #800000&quot;&gt;LINKED_LIST&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;ELKS Revision: &lt;span style=&quot;color: #FF0000;&quot;&gt;166&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+ARRAYED_LIST&amp;btnI=I%27m+Feeling+Lucky&quot;&gt;&lt;span style=&quot;color: #800000&quot;&gt;ARRAYED_LIST&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;ELKS Revision: &lt;span style=&quot;color: #FF0000;&quot;&gt;164&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt; 
&lt;h3 id=&quot;toc1&quot;&gt;Conclusion&lt;/h3&gt;
 The situation is restricted in small reference objects like tuples. The conclusion is based on this and on the context of the compiler/OS/hardware. &lt;ul&gt;
    &lt;li&gt; Arrayed lists are faster than linked lists when numbers of extension elements is not too huge.&lt;/li&gt;
    &lt;li&gt; Arrayed lists always beat linked lists at memory usage.&lt;/li&gt;
    &lt;li&gt; When the number of extension elements is not too huge, less then 200,000, ARRAYED_LIST shows its best performance and memory usage. (DS_ARRAYED_LIST is good as well)&lt;/li&gt;
    &lt;li&gt; When the number of extension elements raises to more than 200,000, DS_LINKED_LIST starts to show its best performance.&lt;/li&gt;
    &lt;li&gt; LINKED_LIST is always slower then DS_LINKED_LIST. But less memory usage at all time.&lt;/li&gt;
&lt;/ul&gt;

&lt;/p&gt;

&lt;p&gt;Also see Detailed Benchmark Result.&lt;/p&gt;


&lt;h3 id=&quot;toc2&quot;&gt;Detailed Benchmark Result&lt;/h3&gt;
 All data bellow was from finalized binary. 
&lt;h4 id=&quot;toc3&quot;&gt;-Performance-&lt;/h4&gt;
 

&lt;table border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot;&gt;
    &lt;tr&gt;
        &lt;th&gt; TIMES     &lt;/th&gt;
        &lt;th&gt; DS_LINKED_LIST     &lt;/th&gt;
        &lt;th&gt; DS_ARRAYED_LIST     &lt;/th&gt;
        &lt;th&gt; LINKED_LIST     &lt;/th&gt;
        &lt;th&gt; ARRAYED_LIST &lt;/th&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 10000 &lt;/td&gt;
        &lt;td&gt; 0.000      &lt;/td&gt;
        &lt;td&gt; 0.000      &lt;/td&gt;
        &lt;td&gt; 0.000      &lt;/td&gt;
        &lt;td&gt; 0.000  &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 30000     &lt;/td&gt;
        &lt;td&gt; 0.016      &lt;/td&gt;
        &lt;td&gt; 0.015      &lt;/td&gt;
        &lt;td&gt; 0.016      &lt;/td&gt;
        &lt;td&gt; 0.016  &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 50000     &lt;/td&gt;
        &lt;td&gt; 0.047      &lt;/td&gt;
        &lt;td&gt; 0.016      &lt;/td&gt;
        &lt;td&gt; 0.047      &lt;/td&gt;
        &lt;td&gt; 0.015  &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 100000     &lt;/td&gt;
        &lt;td&gt; 0.110      &lt;/td&gt;
        &lt;td&gt; 0.063      &lt;/td&gt;
        &lt;td&gt; 0.172      &lt;/td&gt;
        &lt;td&gt; 0.080  &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 200000     &lt;/td&gt;
        &lt;td&gt; 0.218      &lt;/td&gt;
        &lt;td&gt; 0.234      &lt;/td&gt;
        &lt;td&gt; 0.235      &lt;/td&gt;
        &lt;td&gt; 0.202  &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 300000     &lt;/td&gt;
        &lt;td&gt; 0.343      &lt;/td&gt;
        &lt;td&gt; 0.438      &lt;/td&gt;
        &lt;td&gt; 0.359      &lt;/td&gt;
        &lt;td&gt; 0.406  &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 400000     &lt;/td&gt;
        &lt;td&gt; 0.485      &lt;/td&gt;
        &lt;td&gt; 0.563      &lt;/td&gt;
        &lt;td&gt; 0.547      &lt;/td&gt;
        &lt;td&gt; 0.531  &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 500000     &lt;/td&gt;
        &lt;td&gt; 0.610      &lt;/td&gt;
        &lt;td&gt; 0.781      &lt;/td&gt;
        &lt;td&gt; 0.672      &lt;/td&gt;
        &lt;td&gt; 0.782  &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 600000     &lt;/td&gt;
        &lt;td&gt; 0.703      &lt;/td&gt;
        &lt;td&gt; 1.016      &lt;/td&gt;
        &lt;td&gt; 0.781      &lt;/td&gt;
        &lt;td&gt; 1.000  &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 700000     &lt;/td&gt;
        &lt;td&gt; 0.844      &lt;/td&gt;
        &lt;td&gt; 1.328      &lt;/td&gt;
        &lt;td&gt; 0.953      &lt;/td&gt;
        &lt;td&gt; 1.344  &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 800000     &lt;/td&gt;
        &lt;td&gt; 1.000      &lt;/td&gt;
        &lt;td&gt; 1.453      &lt;/td&gt;
        &lt;td&gt; 1.063      &lt;/td&gt;
        &lt;td&gt; 1.515  &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 900000     &lt;/td&gt;
        &lt;td&gt; 1.094      &lt;/td&gt;
        &lt;td&gt; 1.719      &lt;/td&gt;
        &lt;td&gt; 1.219      &lt;/td&gt;
        &lt;td&gt; 1.969  &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 1000000     &lt;/td&gt;
        &lt;td&gt; 1.218      &lt;/td&gt;
        &lt;td&gt; 2.156      &lt;/td&gt;
        &lt;td&gt; 1.313      &lt;/td&gt;
        &lt;td&gt; 2.250  &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 1600000     &lt;/td&gt;
        &lt;td&gt; 1.954      &lt;/td&gt;
        &lt;td&gt; 4.218      &lt;/td&gt;
        &lt;td&gt; 2.140      &lt;/td&gt;
        &lt;td&gt; 4.421  &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 3200000     &lt;/td&gt;
        &lt;td&gt; 3.907      &lt;/td&gt;
        &lt;td&gt; 13.375      &lt;/td&gt;
        &lt;td&gt; 4.422      &lt;/td&gt;
        &lt;td&gt; 13.719  &lt;/td&gt;
    &lt;/tr&gt;
|- &lt;/table&gt;

 Time uses in seconds.&lt;p&gt;&lt;a href=&quot;http://www.eiffelroom.com/node/285&quot;&gt;&lt;img src=&quot;http://www.eiffelroom.com/files/images/list_structure_extension_performance.PNG&quot; alt=&quot;Chart of list structure&#039;s extension performance&quot; title=&quot;Chart of list structure&#039;s extension performance&quot; width=&quot;1090&quot; height=&quot;737&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h4 id=&quot;toc4&quot;&gt;-Memory Usage-&lt;/h4&gt;
 

&lt;table border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot;&gt;
    &lt;tr&gt;
        &lt;th&gt; TIMES     &lt;/th&gt;
        &lt;th&gt; DS_LINKED_LIST     &lt;/th&gt;
        &lt;th&gt; DS_ARRAYED_LIST     &lt;/th&gt;
        &lt;th&gt; LINKED_LIST     &lt;/th&gt;
        &lt;th&gt; ARRAYED_LIST &lt;/th&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 10000     &lt;/td&gt;
        &lt;td&gt; 0     &lt;/td&gt;
        &lt;td&gt; 0     &lt;/td&gt;
        &lt;td&gt; 0     &lt;/td&gt;
        &lt;td&gt; 0 &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 30000     &lt;/td&gt;
        &lt;td&gt; 0     &lt;/td&gt;
        &lt;td&gt; 0     &lt;/td&gt;
        &lt;td&gt; 0     &lt;/td&gt;
        &lt;td&gt; 0 &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 40000     &lt;/td&gt;
        &lt;td&gt; 0     &lt;/td&gt;
        &lt;td&gt; 0     &lt;/td&gt;
        &lt;td&gt; 0     &lt;/td&gt;
        &lt;td&gt; 0 &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 50000     &lt;/td&gt;
        &lt;td&gt; 4194352     &lt;/td&gt;
        &lt;td&gt; 0     &lt;/td&gt;
        &lt;td&gt; 0     &lt;/td&gt;
        &lt;td&gt; 0 &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 60000     &lt;/td&gt;
        &lt;td&gt; 4194352     &lt;/td&gt;
        &lt;td&gt; 0     &lt;/td&gt;
        &lt;td&gt; 0     &lt;/td&gt;
        &lt;td&gt; 0 &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 70000     &lt;/td&gt;
        &lt;td&gt; 4194352     &lt;/td&gt;
        &lt;td&gt; 0     &lt;/td&gt;
        &lt;td&gt; 0     &lt;/td&gt;
        &lt;td&gt; 0 &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 80000     &lt;/td&gt;
        &lt;td&gt; 4194352     &lt;/td&gt;
        &lt;td&gt; 0     &lt;/td&gt;
        &lt;td&gt; 0     &lt;/td&gt;
        &lt;td&gt; 0 &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 90000     &lt;/td&gt;
        &lt;td&gt; 8388704     &lt;/td&gt;
        &lt;td&gt; 0     &lt;/td&gt;
        &lt;td&gt; 0     &lt;/td&gt;
        &lt;td&gt; 0 &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 100000     &lt;/td&gt;
        &lt;td&gt; 8388704     &lt;/td&gt;
        &lt;td&gt; 0     &lt;/td&gt;
        &lt;td&gt; 0     &lt;/td&gt;
        &lt;td&gt; 0 &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 110000     &lt;/td&gt;
        &lt;td&gt; 8388704     &lt;/td&gt;
        &lt;td&gt; 0     &lt;/td&gt;
        &lt;td&gt; 4194352     &lt;/td&gt;
        &lt;td&gt; 0 &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 120000     &lt;/td&gt;
        &lt;td&gt; 8388704     &lt;/td&gt;
        &lt;td&gt; 4194352     &lt;/td&gt;
        &lt;td&gt; 4194352     &lt;/td&gt;
        &lt;td&gt; 4194352 &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 140000     &lt;/td&gt;
        &lt;td&gt; 12583056     &lt;/td&gt;
        &lt;td&gt; 4194352     &lt;/td&gt;
        &lt;td&gt; 8388704     &lt;/td&gt;
        &lt;td&gt; 4194352 &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 160000     &lt;/td&gt;
        &lt;td&gt; 12583056     &lt;/td&gt;
        &lt;td&gt; 4194352     &lt;/td&gt;
        &lt;td&gt; 8388704     &lt;/td&gt;
        &lt;td&gt; 4194352 &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 180000     &lt;/td&gt;
        &lt;td&gt; 20971760     &lt;/td&gt;
        &lt;td&gt; 4194352     &lt;/td&gt;
        &lt;td&gt; 16777408     &lt;/td&gt;
        &lt;td&gt; 8388704 &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 200000     &lt;/td&gt;
        &lt;td&gt; 20971760     &lt;/td&gt;
        &lt;td&gt; 4194352     &lt;/td&gt;
        &lt;td&gt; 16777408     &lt;/td&gt;
        &lt;td&gt; 8388704 &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 250000     &lt;/td&gt;
        &lt;td&gt; 20971760     &lt;/td&gt;
        &lt;td&gt; 8388704     &lt;/td&gt;
        &lt;td&gt; 16777408     &lt;/td&gt;
        &lt;td&gt; 12583056 &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 300000     &lt;/td&gt;
        &lt;td&gt; 25166112     &lt;/td&gt;
        &lt;td&gt; 12583056     &lt;/td&gt;
        &lt;td&gt; 16777408     &lt;/td&gt;
        &lt;td&gt; 16777408 &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 400000     &lt;/td&gt;
        &lt;td&gt; 37749168     &lt;/td&gt;
        &lt;td&gt; 16777408     &lt;/td&gt;
        &lt;td&gt; 25166112     &lt;/td&gt;
        &lt;td&gt; 25166112 &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 500000     &lt;/td&gt;
        &lt;td&gt; 46137872     &lt;/td&gt;
        &lt;td&gt; 25166112     &lt;/td&gt;
        &lt;td&gt; 33554816     &lt;/td&gt;
        &lt;td&gt; 25166112 &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 600000     &lt;/td&gt;
        &lt;td&gt; 54526576     &lt;/td&gt;
        &lt;td&gt; 37749168     &lt;/td&gt;
        &lt;td&gt; 41943520     &lt;/td&gt;
        &lt;td&gt; 37749168 &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 700000     &lt;/td&gt;
        &lt;td&gt; 67109632     &lt;/td&gt;
        &lt;td&gt; 41943520     &lt;/td&gt;
        &lt;td&gt; 62915280     &lt;/td&gt;
        &lt;td&gt; 46137872 &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 800000     &lt;/td&gt;
        &lt;td&gt; 75498336     &lt;/td&gt;
        &lt;td&gt; 46137872     &lt;/td&gt;
        &lt;td&gt; 71303984     &lt;/td&gt;
        &lt;td&gt; 50332224 &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 900000     &lt;/td&gt;
        &lt;td&gt; 83887040     &lt;/td&gt;
        &lt;td&gt; 59921060     &lt;/td&gt;
        &lt;td&gt; 79692688     &lt;/td&gt;
        &lt;td&gt; 59921060 &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 1000000     &lt;/td&gt;
        &lt;td&gt; 92275744     &lt;/td&gt;
        &lt;td&gt; 64115412     &lt;/td&gt;
        &lt;td&gt; 83887040     &lt;/td&gt;
        &lt;td&gt; 64115412 &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 1600000     &lt;/td&gt;
        &lt;td&gt; 150996672     &lt;/td&gt;
        &lt;td&gt; 109954228     &lt;/td&gt;
        &lt;td&gt; 138413616     &lt;/td&gt;
        &lt;td&gt; 114148580 &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
        &lt;td&gt; 3200000     &lt;/td&gt;
        &lt;td&gt; 306187696     &lt;/td&gt;
        &lt;td&gt; 236755304     &lt;/td&gt;
        &lt;td&gt; 293604640     &lt;/td&gt;
        &lt;td&gt; 240949656 &lt;/td&gt;
    &lt;/tr&gt;
|- &lt;/table&gt;

 Memory uses in bytes.&lt;p&gt;&lt;a href=&quot;http://www.eiffelroom.com/node/286&quot;&gt;&lt;img src=&quot;http://www.eiffelroom.com/files/images/list_structure_memory_usage.PNG&quot; alt=&quot;Chart of list structure&#039;s extension memory usage&quot; title=&quot;Chart of list structure&#039;s extension memory usage&quot; width=&quot;1097&quot; height=&quot;749&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h2 id=&quot;toc5&quot;&gt;Code to perform the test&lt;/h2&gt;
 &lt;div class=&quot;geshifilter eiffel&quot; style=&quot;font-family: monospace;&quot;&gt;&lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;class&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; APPLICATION&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;inherit&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+MEMORY&amp;btnI=I%27m+Feeling+Lucky&quot;&gt;&lt;span style=&quot;color: #800000&quot;&gt;MEMORY&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;create&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; make&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;feature&lt;/span&gt; &lt;span style=&quot;color: #008000; font-style: italic;&quot;&gt;-- Initialization&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; make &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;args: &lt;a href=&quot;http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+ARRAY&amp;btnI=I%27m+Feeling+Lucky&quot;&gt;&lt;span style=&quot;color: #800000&quot;&gt;ARRAY&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;a href=&quot;http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+STRING&amp;btnI=I%27m+Feeling+Lucky&quot;&gt;&lt;span style=&quot;color: #800000&quot;&gt;STRING&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;is&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #008000; font-style: italic;&quot;&gt;-- Run application.&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;local&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; l_gobo_linked_list: DS_LINKED_LIST &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;a href=&quot;http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+TUPLE&amp;btnI=I%27m+Feeling+Lucky&quot;&gt;&lt;span style=&quot;color: #800000&quot;&gt;TUPLE&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#91;&lt;/span&gt;a, b: &lt;a href=&quot;http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+INTEGER&amp;btnI=I%27m+Feeling+Lucky&quot;&gt;&lt;span style=&quot;color: #800000&quot;&gt;INTEGER&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; l_gobo_arrayed_list: DS_ARRAYED_LIST &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;a href=&quot;http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+TUPLE&amp;btnI=I%27m+Feeling+Lucky&quot;&gt;&lt;span style=&quot;color: #800000&quot;&gt;TUPLE&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#91;&lt;/span&gt;a, b: &lt;a href=&quot;http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+INTEGER&amp;btnI=I%27m+Feeling+Lucky&quot;&gt;&lt;span style=&quot;color: #800000&quot;&gt;INTEGER&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; l_elks_linked_list: &lt;a href=&quot;http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+LINKED_LIST&amp;btnI=I%27m+Feeling+Lucky&quot;&gt;&lt;span style=&quot;color: #800000&quot;&gt;LINKED_LIST&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;a href=&quot;http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+TUPLE&amp;btnI=I%27m+Feeling+Lucky&quot;&gt;&lt;span style=&quot;color: #800000&quot;&gt;TUPLE&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#91;&lt;/span&gt;a, b: &lt;a href=&quot;http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+INTEGER&amp;btnI=I%27m+Feeling+Lucky&quot;&gt;&lt;span style=&quot;color: #800000&quot;&gt;INTEGER&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; l_elks_arrayed_list: &lt;a href=&quot;http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+ARRAYED_LIST&amp;btnI=I%27m+Feeling+Lucky&quot;&gt;&lt;span style=&quot;color: #800000&quot;&gt;ARRAYED_LIST&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;a href=&quot;http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+TUPLE&amp;btnI=I%27m+Feeling+Lucky&quot;&gt;&lt;span style=&quot;color: #800000&quot;&gt;TUPLE&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#91;&lt;/span&gt;a, b: &lt;a href=&quot;http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+INTEGER&amp;btnI=I%27m+Feeling+Lucky&quot;&gt;&lt;span style=&quot;color: #800000&quot;&gt;INTEGER&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; test_linked_list: &lt;a href=&quot;http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+BOOLEAN&amp;btnI=I%27m+Feeling+Lucky&quot;&gt;&lt;span style=&quot;color: #800000&quot;&gt;BOOLEAN&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; l_start_time, l_finish_time: TIME&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i: &lt;a href=&quot;http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+INTEGER&amp;btnI=I%27m+Feeling+Lucky&quot;&gt;&lt;span style=&quot;color: #800000&quot;&gt;INTEGER&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mem_start: &lt;a href=&quot;http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+INTEGER&amp;btnI=I%27m+Feeling+Lucky&quot;&gt;&lt;span style=&quot;color: #800000&quot;&gt;INTEGER&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mem_info: &lt;a href=&quot;http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+MEM_INFO&amp;btnI=I%27m+Feeling+Lucky&quot;&gt;&lt;span style=&quot;color: #800000&quot;&gt;MEM_INFO&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;do&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; total := args.&lt;span style=&quot;color: #000060;&quot;&gt;item&lt;/span&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #000060;&quot;&gt;to_integer&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; test_linked_list := args.&lt;span style=&quot;color: #000060;&quot;&gt;valid_index&lt;/span&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;and&lt;/span&gt; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;then&lt;/span&gt; args.&lt;span style=&quot;color: #000060;&quot;&gt;item&lt;/span&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #000060;&quot;&gt;is_case_insensitive_equal&lt;/span&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0080A0;&quot;&gt;&amp;quot;y&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0080A0;&quot;&gt;&amp;quot;The following is the time comparison among lists of insertion&lt;span style=&quot;color: #005070; font-weight: bold;&quot;&gt;%N&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0080A0;&quot;&gt;&amp;quot;----------------------------------------------------&lt;span style=&quot;color: #005070; font-weight: bold;&quot;&gt;%N&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mem_info := memory_statistics &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;total_memory&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #008000; font-style: italic;&quot;&gt;---------------------------&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;create&lt;/span&gt; l_start_time.&lt;span style=&quot;color: #000060;&quot;&gt;make_now&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; full_collect&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mem_info.&lt;span style=&quot;color: #000060;&quot;&gt;update&lt;/span&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;total_memory&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mem_start := mem_info.&lt;span style=&quot;color: #000060;&quot;&gt;total&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;from&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i := &lt;span style=&quot;color: #FF0000;&quot;&gt;1&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;create&lt;/span&gt; l_gobo_linked_list.&lt;span style=&quot;color: #000060;&quot;&gt;make_default&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;until&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i &amp;gt; total&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;loop&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; l_gobo_linked_list.&lt;span style=&quot;color: #000060;&quot;&gt;force_last&lt;/span&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;0&lt;/span&gt;, &lt;span style=&quot;color: #FF0000;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i := i + &lt;span style=&quot;color: #FF0000;&quot;&gt;1&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;end&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;create&lt;/span&gt; l_finish_time.&lt;span style=&quot;color: #000060;&quot;&gt;make_now&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0080A0;&quot;&gt;&amp;quot;Gobo linked list (DS_LINKED_LIST): &amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;l_finish_time - l_start_time&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #000060;&quot;&gt;duration&lt;/span&gt;.&lt;span style=&quot;color: #000060;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; l_start_time := &lt;span style=&quot;color: #800080;&quot;&gt;Void&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; l_finish_time := &lt;span style=&quot;color: #800080;&quot;&gt;Void&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; full_collect&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mem_info.&lt;span style=&quot;color: #000060;&quot;&gt;update&lt;/span&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;total_memory&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0080A0;&quot;&gt;&amp;quot;Memory increase: &amp;quot;&lt;/span&gt; + &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;mem_info.&lt;span style=&quot;color: #000060;&quot;&gt;total&lt;/span&gt; - mem_start&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #000060;&quot;&gt;out&lt;/span&gt; + &lt;span style=&quot;color: #0080A0;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #005070; font-weight: bold;&quot;&gt;%N&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; l_gobo_linked_list := &lt;span style=&quot;color: #800080;&quot;&gt;Void&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #008000; font-style: italic;&quot;&gt;---------------------------&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;create&lt;/span&gt; l_start_time.&lt;span style=&quot;color: #000060;&quot;&gt;make_now&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; full_collect&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mem_info.&lt;span style=&quot;color: #000060;&quot;&gt;update&lt;/span&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;total_memory&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mem_start := mem_info.&lt;span style=&quot;color: #000060;&quot;&gt;total&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;from&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i := &lt;span style=&quot;color: #FF0000;&quot;&gt;1&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;create&lt;/span&gt; l_gobo_arrayed_list.&lt;span style=&quot;color: #000060;&quot;&gt;make_default&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;until&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i &amp;gt; total&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;loop&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; l_gobo_arrayed_list.&lt;span style=&quot;color: #000060;&quot;&gt;force_last&lt;/span&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;0&lt;/span&gt;, &lt;span style=&quot;color: #FF0000;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i := i + &lt;span style=&quot;color: #FF0000;&quot;&gt;1&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;end&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;create&lt;/span&gt; l_finish_time.&lt;span style=&quot;color: #000060;&quot;&gt;make_now&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0080A0;&quot;&gt;&amp;quot;Gobo arrayed list (DS_ARRAYED_LIST): &amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;l_finish_time - l_start_time&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #000060;&quot;&gt;duration&lt;/span&gt;.&lt;span style=&quot;color: #000060;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; l_start_time := &lt;span style=&quot;color: #800080;&quot;&gt;Void&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; l_finish_time := &lt;span style=&quot;color: #800080;&quot;&gt;Void&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; full_collect&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mem_info.&lt;span style=&quot;color: #000060;&quot;&gt;update&lt;/span&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;total_memory&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0080A0;&quot;&gt;&amp;quot;Memory increase: &amp;quot;&lt;/span&gt; + &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;mem_info.&lt;span style=&quot;color: #000060;&quot;&gt;total&lt;/span&gt; - mem_start&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #000060;&quot;&gt;out&lt;/span&gt; + &lt;span style=&quot;color: #0080A0;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #005070; font-weight: bold;&quot;&gt;%N&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; l_gobo_arrayed_list := &lt;span style=&quot;color: #800080;&quot;&gt;Void&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #008000; font-style: italic;&quot;&gt;---------------------------&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;if&lt;/span&gt; test_linked_list &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;then&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;create&lt;/span&gt; l_start_time.&lt;span style=&quot;color: #000060;&quot;&gt;make_now&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; full_collect&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mem_info.&lt;span style=&quot;color: #000060;&quot;&gt;update&lt;/span&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;total_memory&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mem_start := mem_info.&lt;span style=&quot;color: #000060;&quot;&gt;total&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;from&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i := &lt;span style=&quot;color: #FF0000;&quot;&gt;1&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;create&lt;/span&gt; l_elks_linked_list.&lt;span style=&quot;color: #000060;&quot;&gt;make&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;until&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i &amp;gt; total&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;loop&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; l_elks_linked_list.&lt;span style=&quot;color: #000060;&quot;&gt;put_front&lt;/span&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;0&lt;/span&gt;, &lt;span style=&quot;color: #FF0000;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i := i + &lt;span style=&quot;color: #FF0000;&quot;&gt;1&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;end&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;create&lt;/span&gt; l_finish_time.&lt;span style=&quot;color: #000060;&quot;&gt;make_now&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0080A0;&quot;&gt;&amp;quot;ELKS linked list (LINKED_LIST): &amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;l_finish_time - l_start_time&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #000060;&quot;&gt;duration&lt;/span&gt;.&lt;span style=&quot;color: #000060;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; l_start_time := &lt;span style=&quot;color: #800080;&quot;&gt;Void&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; l_finish_time := &lt;span style=&quot;color: #800080;&quot;&gt;Void&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; full_collect&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mem_info.&lt;span style=&quot;color: #000060;&quot;&gt;update&lt;/span&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;total_memory&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0080A0;&quot;&gt;&amp;quot;Memory increase: &amp;quot;&lt;/span&gt; + &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;mem_info.&lt;span style=&quot;color: #000060;&quot;&gt;total&lt;/span&gt; - mem_start&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #000060;&quot;&gt;out&lt;/span&gt; + &lt;span style=&quot;color: #0080A0;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #005070; font-weight: bold;&quot;&gt;%N&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; l_elks_linked_list := &lt;span style=&quot;color: #800080;&quot;&gt;Void&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;end&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #008000; font-style: italic;&quot;&gt;---------------------------&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;create&lt;/span&gt; l_start_time.&lt;span style=&quot;color: #000060;&quot;&gt;make_now&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; full_collect&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mem_info.&lt;span style=&quot;color: #000060;&quot;&gt;update&lt;/span&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;total_memory&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mem_start := mem_info.&lt;span style=&quot;color: #000060;&quot;&gt;total&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;from&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i := &lt;span style=&quot;color: #FF0000;&quot;&gt;1&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;create&lt;/span&gt; l_elks_arrayed_list.&lt;span style=&quot;color: #000060;&quot;&gt;make&lt;/span&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;until&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i &amp;gt; total&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;loop&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; l_elks_arrayed_list.&lt;span style=&quot;color: #000060;&quot;&gt;extend&lt;/span&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;0&lt;/span&gt;, &lt;span style=&quot;color: #FF0000;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i := i + &lt;span style=&quot;color: #FF0000;&quot;&gt;1&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;end&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;create&lt;/span&gt; l_finish_time.&lt;span style=&quot;color: #000060;&quot;&gt;make_now&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0080A0;&quot;&gt;&amp;quot;ELKS arrayed list (ARRAYED_LIST): &amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;l_finish_time - l_start_time&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #000060;&quot;&gt;duration&lt;/span&gt;.&lt;span style=&quot;color: #000060;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; l_start_time := &lt;span style=&quot;color: #800080;&quot;&gt;Void&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; l_finish_time := &lt;span style=&quot;color: #800080;&quot;&gt;Void&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; full_collect&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mem_info.&lt;span style=&quot;color: #000060;&quot;&gt;update&lt;/span&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;total_memory&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0080A0;&quot;&gt;&amp;quot;Memory increase: &amp;quot;&lt;/span&gt; + &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;mem_info.&lt;span style=&quot;color: #000060;&quot;&gt;total&lt;/span&gt; - mem_start&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #000060;&quot;&gt;out&lt;/span&gt; + &lt;span style=&quot;color: #0080A0;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #005070; font-weight: bold;&quot;&gt;%N&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; l_elks_arrayed_list := &lt;span style=&quot;color: #800080;&quot;&gt;Void&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; total: &lt;a href=&quot;http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+INTEGER&amp;btnI=I%27m+Feeling+Lucky&quot;&gt;&lt;span style=&quot;color: #800000&quot;&gt;INTEGER&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;end&lt;/span&gt; &lt;span style=&quot;color: #008000; font-style: italic;&quot;&gt;-- class APPLICATION&lt;/span&gt;&lt;/div&gt;</description>
 <comments>http://www.eiffelroom.com/blog/ted_eiffel/extension_performance_comparison_among_lists#comments</comments>
 <category domain="http://www.eiffelroom.com/tag/data_structure">data structure</category>
 <category domain="http://www.eiffelroom.com/tag/list">list</category>
 <category domain="http://www.eiffelroom.com/tag/memory_usage">memory usage</category>
 <category domain="http://www.eiffelroom.com/tag/performance">performance</category>
 <pubDate>Wed, 21 May 2008 03:14:12 -0700</pubDate>
 <dc:creator>ted_eiffel</dc:creator>
 <guid isPermaLink="false">287 at http://www.eiffelroom.com</guid>
</item>
</channel>
</rss>
