Skip to content

Commit d332d91

Browse files
committed
Update lobsters
THe initial snapshot was from a few years back, the application changed a lot since then. I had to run a bunch of migrations and had to fiddle with various sqlite3/msyql incompatibilities. Also some route changes, but with a bit of effort I managed to make it work again. What is interesting is it seems lobste.rs became 2-3-x as slow in these couple years, I haven't yet profiled to know why. This branch: ``` itr: time #1: 1532ms #2: 1013ms #3: 910ms #4: 852ms #5: 851ms #6: 901ms #7: 857ms #8: 886ms #9: 875ms ``` main: ``` itr: time #1: 884ms #2: 482ms #3: 344ms #4: 358ms #5: 300ms #6: 316ms #7: 315ms #8: 328ms #9: 309ms ```
1 parent 35773de commit d332d91

File tree

273 files changed

+16719
-4135
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

273 files changed

+16719
-4135
lines changed

benchmarks/lobsters/Gemfile

Lines changed: 48 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,75 +1,82 @@
11
source "https://rubygems.org"
22

3-
# Everything except Action Cable. It's unused and it installs native gems.
4-
%w[
5-
actionmailbox actionmailer actionpack actionview
6-
actiontext activejob activemodel activerecord
7-
activestorage activesupport railties
8-
].each do |rails_gem|
9-
gem rails_gem, "~> 7.2"
10-
end
3+
gem "rails"
114

5+
# database and caching
6+
gem "maxminddb"
7+
gem "solid_cache"
128
gem "sqlite3"
13-
#gem "mysql2"
9+
gem "trilogy"
1410

15-
# uncomment to use PostgreSQL
16-
# gem "pg"
11+
# jobs
12+
gem "solid_queue"
13+
gem "mission_control-jobs"
1714

1815
# rails
19-
gem 'scenic'
20-
#gem 'scenic-mysql_adapter'
16+
# gem "scenic"
17+
# gem "scenic-mysql_adapter"
2118
gem "activerecord-typedstore"
22-
gem 'sprockets-rails', '2.3.3'
19+
gem "propshaft"
20+
gem "importmap-rails", "~> 2.0"
2321

2422
# js
25-
gem "jquery-rails", "~> 4.3"
2623
gem "json"
27-
#gem "uglifier", ">= 1.3.0"
2824

2925
# deployment
3026
gem "actionpack-page_caching"
31-
# gem "exception_notification"
32-
# gem "puma", ">= 5.6.2"
27+
gem "exception_notification"
28+
gem "puma"
3329

3430
# security
35-
gem "bcrypt", "~> 3.1.2"
31+
gem "bcrypt"
3632
gem "rotp"
3733
gem "rqrcode"
3834

3935
# parsing
40-
gem "pdf-reader"
41-
gem "nokogiri", ">= 1.13.9"
36+
gem "commonmarker", "<1"
4237
gem "htmlentities"
43-
gem "commonmarker", ">= 0.23.6", "< 1.0" # The v1.0 Rust gem doesn't compile on Ruby master
38+
gem "pdf-reader"
39+
gem "nokogiri"
40+
gem "parslet"
4441

45-
# perf - skip for benchmarking
46-
group :development do
47-
gem 'flamegraph'
48-
gem 'memory_profiler'
49-
gem 'rack-mini-profiler'
50-
gem 'stackprof'
51-
end
42+
# perf
43+
gem "flamegraph"
44+
gem "memory_profiler"
45+
# gem "rack-mini-profiler"
46+
gem "stackprof"
47+
# gem "prosopite"
48+
gem "pg_query"
5249

53-
gem "oauth" # for twitter-posting bot
50+
gem "builder" # for rss
51+
gem "oauth" # for linking accounts
5452
gem "mail" # for parsing incoming mail
55-
gem "ruumba" # tests views
5653
gem "sitemap_generator" # for better search engine indexing
57-
gem "svg-graph", require: 'SVG/Graph/TimeSeries' # for charting, note workaround in lib/time_series.rb
58-
gem 'rack-attack' # rate-limiting
54+
gem "svg-graph", require: "SVG/Graph/TimeSeries" # for charting, note workaround in lib/time_series.rb
55+
56+
# gem "rack-attack" # rate-limiting
57+
gem "lograge" # for JSON logging
58+
gem "silencer" # to disable default logging in prod
5959

6060
group :test, :development do
61-
gem 'capybara'
62-
gem 'database_cleaner'
63-
gem 'rspec-rails', '~> 6.0.0.rc1'
61+
gem "benchmark-perf"
62+
gem "brakeman"
63+
gem "capybara"
64+
gem "database_cleaner"
65+
gem "listen"
66+
gem "letter_opener"
67+
gem "rspec-rails"
6468
gem "factory_bot_rails"
65-
gem "ostruct" # required for such an old rubocop
66-
gem "rubocop", "0.81", require: false
67-
gem "rubocop-rails", require: false
68-
gem "rubocop-rspec", require: false
69+
gem "foreman"
70+
gem "standard"
71+
gem "standard-performance"
72+
gem "standard-rails"
73+
gem "super_diff"
6974
gem "faker"
7075
gem "byebug"
7176
gem "rb-readline"
7277
gem "vcr"
7378
gem "webmock" # used to support vcr
74-
gem 'simplecov', require: false
79+
gem "simplecov", require: false
80+
gem "active_record_doctor"
81+
gem "database_consistency"
7582
end

0 commit comments

Comments
 (0)