diff --git a/dist/xchart-1.0.0.jar b/dist/xchart-1.0.0.jar
index 5ced7063708c9cfdfd170f588f87788ff6f9ab01..a3d94874742bece37235d508f599ed4b9f845d8e 100644
Binary files a/dist/xchart-1.0.0.jar and b/dist/xchart-1.0.0.jar differ
diff --git a/src/com/xeiam/xcharts/example/HugeChart.java b/src/com/xeiam/xcharts/example/HugeChart.java
new file mode 100644
index 0000000000000000000000000000000000000000..7858eecd6c8e113e91a619bfeaf32c3be89511fc
--- /dev/null
+++ b/src/com/xeiam/xcharts/example/HugeChart.java
@@ -0,0 +1,95 @@
+/**
+ * Copyright 2011 Xeiam LLC.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.xeiam.xcharts.example;
+
+import java.awt.BorderLayout;
+
+import javax.swing.JFrame;
+import javax.swing.JPanel;
+
+import com.xeiam.xcharts.Chart;
+import com.xeiam.xcharts.JChartPanel;
+import com.xeiam.xcharts.series.Series;
+
+/**
+ * @author timmolter
+ */
+public class HugeChart {
+
+    private static void createAndShowGUI() {
+
+        // Create and set up the window.
+        JFrame frame = new JFrame("XChart");
+        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+        frame.setUndecorated(true);
+
+        // Create Chart
+        Chart chart = new Chart(800, 600);
+
+        long t = System.currentTimeMillis();
+        // generates linear data
+        int b = 1000000;
+        double[] xData = new double[b + 1];
+        double[] yData = new double[b + 1];
+        for (int x = 0; x <= b; x++) {
+            xData[x] = x;
+            yData[x] = x;
+        }
+        long t1 = System.currentTimeMillis() - t;
+        t = System.currentTimeMillis();
+        System.out.println("B:" + System.currentTimeMillis());
+        // Customize Chart
+        chart.setChartTitle("Sample Chart");
+        chart.setXAxisTitle("X");
+        chart.setYAxisTitle("Y");
+        // chart.setChartTitleVisible(false);
+        // chart.setChartLegendVisible(false);
+        // chart.setAxisTitlesVisible(false);
+
+        Series series = chart.addSeries("big data set", xData, yData);
+        // series.setLineColor(SeriesColor.PURPLE);
+        // series.setLineStyle(SeriesLineStyle.NONE);
+        // series.setMarkerColor(SeriesColor.GREEN);
+        // series.setMarker(SeriesMarker.NONE);
+
+        // Swing
+        JPanel chartPanel = new JChartPanel(chart);
+
+        // add the panel to the content pane
+        frame.getContentPane().add(chartPanel, BorderLayout.CENTER);
+
+        // Display the window
+        frame.pack();
+        frame.setLocationRelativeTo(null); // centers on screen
+        frame.setVisible(true);
+
+        long t2 = System.currentTimeMillis() - t;
+        System.out.println("Data Generation Time: " + t1);
+        System.out.println("Plot Generation Time: " + t2);
+    }
+
+    public static void main(String[] args) {
+
+        // Schedule a job for the event-dispatching thread:
+        // creating and showing this application's GUI.
+        javax.swing.SwingUtilities.invokeLater(new Runnable() {
+            @Override
+            public void run() {
+                createAndShowGUI();
+            }
+        });
+    }
+}