Path: csiph.com!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail From: Cecil Westerhof Newsgroups: comp.lang.java.programmer Subject: Re: Starting jshell takes about 15 seconds Date: Mon, 29 Jul 2019 20:45:28 +0200 Organization: Decebal Computing Lines: 51 Message-ID: <87pnlsof1z.fsf@munus.decebal.nl> References: <87tvb6no0u.fsf@munus.decebal.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: reader02.eternal-september.org; posting-host="a8afb83a33818e3d37b2a35c089ed21e"; logging-data="14476"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19sg6fcLqBWPNtJlV6wzXTmOn/UBYkggFk=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) Cancel-Lock: sha1:vXQexfW9plb6UYSz/FWwhgdNSBw= sha1:3mYOH4FiqVN9f4/8n2rsRhhJP3c= Xref: csiph.com comp.lang.java.programmer:39019 Andreas Leitgeb writes: > Arne Vajhøj wrote: >> On 7/28/2019 12:04 PM, Cecil Westerhof wrote: >>> I have played with jshell before, but at the moment I am a bit more >>> serious with it. Starting jshell between 15 and 20 seconds. Executing >>> /reset takes 7 to 10 seconds. >>> This seems a bit long to me. For example starting ipython3 takes less >>> as two seconds. Is this normal, or is there a problem with my system? >>> I am working with Debian 9. >> Here starting jshell takes 1-3 seconds depending on the >> system. Windows 7 and Ubuntu 18.04 both with Java 11. > > The machine's RAM and # of cores may be more significant here > than the OS or even the CPU or bogomips. > > (And in case of enough RAM, then also whether jshell is already > in the cache versus first-start.) > > PS: Ubuntu here with 8GB on core i7 2.80GHz (HW about 10 years old): > first jshell start: roughly 6 secs, second one roughly 2 secs > > $ time $JAVA12_HOME/bin/jshell <<< "/exit" My startup is expensive. When doing it like that I get a real around 9 seconds, but when I use: time jshell --no-startup <<< /exit real is between 1.5 and 2 seconds. I only do: import java.text.DateFormat; import java.text.SimpleDateFormat; DateFormat dateTimeFormat = new SimpleDateFormat("yyyy-mm-dd HH:mm:ss"); String currentDateTime() { return dateTimeFormat.format(new Date()); } println(currentDateTime()); But it seems it is quit expensive. :'-( -- Cecil Westerhof Senior Software Engineer LinkedIn: http://www.linkedin.com/in/cecilwesterhof