matrei
04/09/2026, 6:41 AMJefferoson Hilario
04/20/2026, 8:03 PMDuration duration = measureTime {
//code
}
Long duration = measureTimeMilis {
//code
}paulk_asert
04/20/2026, 8:48 PMlong timeMillis(Closure c) {
long start = System.currentTimeMillis()
c.call()
System.currentTimeMillis() - start
}
Long duration = timeMillis {
println 'Hi'
sleep 500
println 'Bye'
}
println duration
// Hi
// Bye
// 507Vampire
04/20/2026, 8:58 PMSystem.currentTimeMillis() should never be used to measure a duration within one JVM though,
as it depends on wall-clock, so is affected by time-synchronization, summer-time-change and so on.
Always use System.nanotime() to measure durations within the same JVM.Jefferoson Hilario
04/20/2026, 9:03 PMpaulk_asert
04/20/2026, 9:18 PMJefferoson Hilario
04/20/2026, 9:27 PMpaulk_asert
04/21/2026, 6:08 AMpaulk_asert
04/21/2026, 6:09 AMJuho Naalisvaara
04/22/2026, 9:28 AMSujith
04/22/2026, 9:22 PMSujith
04/22/2026, 9:25 PMdaniel_sun
04/23/2026, 12:45 AMdaniel_sun
04/23/2026, 12:50 AMbsdooby
04/23/2026, 8:04 AMpaulk_asert
04/23/2026, 8:52 AMbsdooby
04/23/2026, 9:35 AMPaolo
05/04/2026, 4:04 PMFile object evaluates to false if the file does not physically exist, whereas previously it only required the reference to be non-null.
While this change impacts the Nextflow codebase, our primary concern is the broader ecosystem:
• Critical External Impact: This change is a “silent breaker” for the thousands of third-party scripts and applications running on Nextflow. Users expecting legacy Groovy behavior will encounter unexpected logic failures that are notoriously difficult to debug in a pipeline context.
• Internal Management: While we can refactor our own core codebase to accommodate the new semantics, we cannot realistically control or force a synchronized update across the entire community of external plugins and user-maintained pipelines.
To mitigate this, I’ve submitted this PR to introduce a system option that allows reverting to the previous behavior. This ensures backward compatibility and provides a necessary safety net for the community as they transition.
Hope you will consider this for merge!paulk_asert
05/05/2026, 2:15 AMglaforge
05/31/2026, 8:08 PMpaulk_asert
05/31/2026, 9:20 PMpaulk_asert
05/31/2026, 9:22 PMglaforge
06/01/2026, 5:49 AMJefferoson Hilario
07/11/2026, 1:15 AMSean Williams
07/21/2026, 12:15 AM<http://groovyx.net|groovyx.net>.http.RESTClient. Is there some guidance for matching some of the config patterns (combo closure+dictionary support, etc.) seen with get(), post() , request(), and so on?Sean Williams
07/21/2026, 12:17 AMpaulk_asert
07/21/2026, 1:51 AMSean Williams
07/21/2026, 1:52 AMOctavia Togami
07/22/2026, 2:44 AMSujith
08/14/2026, 7:44 PM