--fast is mostly a no-op #192

Merged
merged 1 commit into from Aug 7, 2012

3 participants

@alindeman

Per the discussion on Twitter, --fast should mostly go away.

  • --fast is now basically synonymous with -X+C (force compilation)
  • The other features that --fast enabled added complexity and often caused strange bugs (e.g., JRUBY-6698).
  • I think that much of these performance gains can be garnered by simply using JRuby 1.7 with Java 7 and invokedynamic.
@nahi
JRuby Team member

+1. /cc @headius

@headius
JRuby Team member

Fast ops should not be removed and fast send code should not be removed. Otherwise this is fine.

@headius
JRuby Team member

Fast ops should not be removed and fast send code should not be removed. Otherwise this is fine.

@headius headius closed this Jun 3, 2012
@headius headius reopened this Jun 3, 2012
@alindeman

Should --fast still enable fast ops?

@headius
JRuby Team member
@alindeman alindeman --fast is mostly a no-op
* --fast is now basically synonymous with -X+C (force compilation)
* The other features that --fast enabled added complexity and often
  caused strange bugs (e.g., JRUBY-6698).
* I *think* that much of these performance gains can be garnered by
  simply using JRuby 1.7 with Java 7 and invokedynamic.
775ce0c
@alindeman

Pull request updated via 775ce0c.

Note that if FASTSEND_COMPILE is turned on via -J-Djruby.compile.fastsend, JRUBY-6698 would occur because something about that code is buggy.

@jvshahid jvshahid pushed a commit to jvshahid/jruby that referenced this pull request Jul 8, 2012
Wayne Meissner Back each RubyString with persistent native memory when passing to a …
…native function, as the transient memory backing (usually on the C stack) leads to confusion when it is reclaimed, and the native code was expecting it to be persistent. This results in approx 150% (worst case) performance penalty for :string parameters, but its worth it to avoid differences between CRuby FFI and JRuby FFI.

Fixes part of ruby-ffi #192 (ffi/ffi#192)
c29f47c
@headius headius merged commit 8ae5b3e into jruby:master Aug 7, 2012
@eregon eregon added a commit that referenced this pull request Mar 1, 2016
@eregon eregon Squashed 'spec/ruby/' changes from d9a07bf..8d632d3
8d632d3 Fix a typo in Enumerable#grep specs
eb9a915 Clean up the entire spec temp dir when finished with mock dirs.
6793fc5 Add specs for constants with op assigns (2.0+ feature)
2428acb Duplicate grep_v block specs for grep.
f8fe203 Fix calls to close_read mistakenly copied as close_write.
6c483a1 Remove trailing spaces
aafde9a Setting umask seems unneeded for Dir specs
75c3c99 Fix indent and verify better the behavior of Dir.chdir without arguments
cafd965 Use full names in singleton_method_* fixtures to avoid confusion
793b0f5 Improve specs of Module#method_added and BasicObject#singleton_method_added
8c780f2 Fix namespace of BasicObject fixtures
19b3530 Unshare BasicObject#singleton_method_{added,removed,undefined}
7ec6446 Use ScratchPad instead of a global variable in Module#method_added spec
55bbe8d Merge pull request #199 from wied03/master
103e25a Test more block scenarios with super
2e3116d Remove unnecessary version guards
8d4cadb Prefer duplication to conditional code in specs
bb36c64 Merge pull request #197 from nobu/Numeric#step-error
33b90eb Numeric#step now raises TypeError
5940ab5 Fix lower version
dfb4e4b Merge pull request #196 from nobu/Numeric#step-error
bad02c6 Numeric#step will not raise ArgumentError
c559cd1 Fix location of version guard in Marshal#load
dc20179 Merge pull request #193 from unak/patch-1
51da767 Merge pull request #195 from iliabylich/reset-dollar-comma-gvar-back-to-nil
ef2bd56 Reset $, global variable back to nil to prevent IO.print from breaking.
44c6e32 taints float is 2.2 spec.
73e1e0b Specify Array#dig with non-numeric index
af15432 Merge pull request #191 from ruby/vais/masgn-const
86e0894 Wrap specs for multiple assignment to constants in a VariableSpecs module
fc1fee4 Add an example describing the behavior succinctly and a possible implementation for Fixnum#[]
e7b8c65 Merge pull request #192 from mame/fixnum-aref-negative
2900958 Merge pull request #190 from nobu/Symbol#match-fix
7604cbc check if the result is a MatchData
03f6140 Add some specs for `Fixnum#[]` when self is negative
4f8ca98 Add specs for multiple assignment to constants
51d46b1 New examples of Symbol#match since 2.4
7c797ee Merge pull request #189 from nobu/Symbol#match-fix
e450f73 Symbol#match will change at 2.4
e5db1f0 Merge pull request #187 from alex88/patch-1
0a9725a Add tests for Time.at with BigDecimal input

git-subtree-dir: spec/ruby
git-subtree-split: 8d632d36026879e617eae21ba913873e72a70dda
af839a0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment